Time of Update: 2018-12-08
一般採用二級索引去count:比如:id 是pk aid是secondary index採用複製代碼 代碼如下:select count(*) from table where id >=0;或select count(*) from table;效果是一樣的,都是預設使用pk索引,且都要全表掃描,雖然第一種效能可能高一些,但是沒有明顯區別。但是如果用secondary index複製代碼 代碼如下:select count(*) from table where
Time of Update: 2018-12-08
出處:mysqlpub.com
Time of Update: 2018-12-08
註:mysql中的ROW_COUNT()可以返回前一個SQL進行UPDATE,DELETE,INSERT操作所影響的行數。MySQL上的測試(資料庫版本為:5.1.22):1.建立資料庫表:複製代碼 代碼如下:create table t( id int, name varchar(50), address varchar(100), primary key(id,name) )engine =InnoDB; 2.插入測試資料:複製代碼 代碼如下:insert into t (id,
Time of Update: 2018-12-08
一、每日23:00自動刪除臨時檔案首先查看一下crontab的工作清單:crontab -l然後建立:crontab -e添加一行:00 03 * * * rm -rf /www/cmstest/my120/public/scripts/jpgraph/*儲存退出。重啟服務: /etc/rc.d/init.d/crond
Time of Update: 2018-12-08
經常碰到的一個問題是limit的offset太高,如:limit 100000,20,這樣系統會查詢100020條,然後把前面的100000條都扔掉,這是開銷很大的操作,導致查詢很慢。假設所有分頁的頁面訪問頻率一樣,這樣的查詢平均掃描表的一半資料。最佳化的方法,要麼限制訪問後面的頁數,要麼提升高位移的查詢效率。 一個簡單的最佳化辦法是使用覆蓋查詢(covering index)查詢,然後再跟全行的做join操作。如:複製代碼 代碼如下:SQL>select * from user_
Time of Update: 2018-12-08
對mysql查詢快取從五個角度進行詳細的分析:Query
Time of Update: 2018-12-08
1. 大批量亂序資料匯入InnoDB很慢如何解決? InnoDB因為主鍵叢集索引的關係,如果沒有主鍵或者主鍵非序列的情況下,匯入會越來越慢,如何快速的遷移資料到InnoDB?藉助MyISAM的力量 是很靠譜的,先關閉InnoDB的Buffer Pool,把記憶體空出來,建一張沒有任何索引的MyISAM表,然後只管插入吧,concurrent_insert=2,在檔案末尾並發插入,速度剛剛 的,插入完成後,ALTER
Time of Update: 2018-12-08
1. 簡介 在Web應用程式體系架構中,資料持久層(通常是一個關聯式資料庫)是關鍵的核心部分,它對系統的效能有非常重要的影響。MySQL是目前使用最多的開來源資料庫,但是MySQL資料庫的預設設定效能非常的差,僅僅是一個玩具資料庫。因此在產品中使用MySQL資料庫必須進行必要的最佳化。最佳化是一個複雜的任務,本文描述MySQL相關的資料庫設計和查詢最佳化,伺服器端最佳化,儲存引擎最佳化。2. 資料庫設計和查詢最佳化 在MySQL Server效能調優中,首先要考慮的就是Database
Time of Update: 2018-12-08
1.查詢協助 ? contents2.使用合成的散列值,分離BLOB或者TEXT3.貨幣使用定點數(decimal或者numberic)4.sql_mode?5.order by rand() limit 1000;6.最佳化show status like 'Com' Com_select Com_insert等查看插入多還是查詢多7.Handler_read_key 的值將很高,這個值代表了一個行被索引值讀的次數,很低的值表明增加索引得到的效能改善不高,因為索引並不經常使用.Handler_
Time of Update: 2018-12-08
對mysql explain講的比較清楚的在 explain的協助下,您就知道什麼時候該給表添加索引,以使用索引來尋找記錄從而讓select 運行更快。如果由於不恰當使用索引而引起一些問題的話,可以運行 analyze table來更新該表的統計資訊,例如鍵的基數,它能幫您在最佳化方面做出更好的選擇。explain 返回了一行記錄,它包括了 select語句中用到的各個表的資訊。這些表在結果中按照mysql即將執行的查詢中讀取的順序列出來。mysql用一次掃描多次串連(single-
Time of Update: 2018-12-08
排查修複資料表的經過:1、訪問網頁,提示錯誤,串連不到資料庫。2、啟動mysql服務,卸載和關閉rpm安裝的mysql服務(昨天安裝postfix好像yum安裝了mysql),用netstat -anp |grep mysqld 命令查看mysql服務沒有起來,用mysql -uroot -p也串連不到伺服器。3、查看錯誤提示:110726 17:02:23 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade
Time of Update: 2018-12-08
1、建立儲存mysql備份檔案的路徑 /mysqldata #mkdir /mysqldata 2、建立/usr/sbin/bakmysql 檔案 #nano /usr/sbin/bakmysql 輸入: 複製代碼 代碼如下:#!/bin/sh name='date+%Y%m%d' mysqldump --all-databases -uroot -p密碼 > /var/mysqlbak/mysql.sql 註:--all-databases
Time of Update: 2018-12-08
一、 概念: ① 資料庫同步 (主從同步 --- 主要資料庫寫的同時 往從伺服器寫資料)② 資料庫同步 (主主同步 --- 兩台資料庫伺服器互相寫資料)二、 舉例資料庫伺服器(A) 主要資料庫 IP:192.168.1.134資料庫伺服器(B) 主要資料庫 IP:192.168.1.138兩台伺服器同步的使用者名稱為: bravedu 密碼: brave123 一、主要資料庫操作設定(A):① 建立同步處理的使用者名 允許串連的 使用者IP地址 (非本機IP)複製代碼
Time of Update: 2018-12-08
一、 概念: ① 資料庫同步 (主從同步 --- 主要資料庫寫的同時 往從伺服器寫資料)② 資料庫同步 (主主同步 --- 兩台資料庫伺服器互相寫資料)二、 舉例主主要資料庫同步伺服器配置資料庫伺服器(A) 主要資料庫 IP:192.168.1.134資料庫伺服器(B) 主要資料庫 IP:192.168.1.138兩台伺服器同步的使用者名稱為: bravedu 密碼: brave123一、主要資料庫操作設定(A):① 建立同步處理的使用者名 允許串連的 使用者IP地址 (
Time of Update: 2018-12-08
環境 MySQL 5.1 + 命令列工具 問題 MySQL表欄位設定預設值 解決 複製代碼 代碼如下:--SQL: CREATE TABLE test( i_a int NOT NULL DEFAULT 1, ts_b timestamp NOT NULL DEFAULT NOW(), c_c char(2) NOT NULL DEFAULT '1' ); --以下SQL不合法 --time_d time NOT NULL DEFAULT CURTIME(), --date_e date
Time of Update: 2018-12-08
MySQL的預設編碼是Latin1,不支援中文,要支援中文需要把資料庫的預設編碼修改為gbk或者utf8。 1、需要以root使用者身份登陸才可以查看資料庫編碼方式(以root使用者身份登陸的命令為:>mysql -u root –p,之後兩次輸入root使用者的密碼),查看資料庫的編碼方式命令為: >show variables like 'character%'; +--------------------------+----------------------------+
Time of Update: 2018-12-08
複製代碼 代碼如下:#!/bin/bash #Mysql autobackup shell # # #----------------set the mysql login parameters dbuser=root dbpasswd= dbserver=localhost dbname=fwserver2008 dbopt=--opt backupdir=/dbbackup/ #-----------------set the FTP paramters , 0 no send to a
Time of Update: 2018-12-08
你完成了你的品牌新的應用程式,一切工作就像一個魅力。使用者來使用你的網路。每個人是幸福的。 然後,突然間,一個大爆發的使用者殺死你的MySQL伺服器,您的網站已關閉。出了什麼問題?你怎麼能阻止它嗎? 以下是MySQL效能最佳化的一些技巧,將協助你,協助你的資料庫。 大處著眼 在早期的發展階段,你應該知道預期到您的應用程式的使用者數。如果你希望很多使用者來說,你應該想想大,從一開始,計划進行複製,可擴充性和效能。
Time of Update: 2018-12-08
如果是使用中的資料庫突然出現些類問題 在Linux下面執行下面命令就可以了,當然你要找到你的mysql目錄 linux中 複製代碼 代碼如下:/usr/local/mysql/bin/mysqladmin -u root -p flush-tables windows中 可以在cmd中執行lush-tables 也可以在phpmyadmin 直利用修複表進行修改 如果是匯入還原資料
Time of Update: 2018-12-08
今早在對一張table 建立primay key過程中發生了斷電,當電腦再次啟動時候,發現mysql 服務無法啟動,使用 net start 提示 1067錯誤,折騰了2個小時無法解決,後來只能通過手工刪除資料檔案,記錄檔,再啟動服務,然後匯入資料來完成。啟動服務發生1067錯誤:1.刪除datadir 下的使用者資料庫檔案 和 記錄檔