對mysql優化時乙個綜合性的技術,主要包括
a: 表的設計合理化(符合3nf)
b:新增適當索引(index)[四種: 普通索引、主鍵索引、唯一索引unique、全文索引]
c: 分表技術(水平分割、垂直分割)
d: 讀寫[寫: update/delete/add]分離
e: 儲存過程 [模組化程式設計,可以提高速度]
f: 對mysql配置優化 [配置最大併發數my.ini, 調整快取大小 ]
g: mysql伺服器硬體公升級
h: 定時的去清除不需要的資料,定時進行碎片整理(myisam)
問題是: 如何從乙個大專案中,迅速的定位執行速度慢的語句. (定位慢查詢)
預設情況下,mysql認為10秒才是乙個慢查詢.
2-1、修改mysql的慢查詢.
show variables like 『long_query_time』 ; //可以顯示當前慢查詢時間
set long_query_time=1 ;//可以修改慢查詢時間
2-2、構建大表->大表中記錄有要求, 記錄是不同才有用,否則測試效果和真實的相差大.
2-3、這時我們如果出現一條語句執行時間超過1秒中,就會觀察到.
2-4、如果把慢查詢的sql記錄到我們的乙個日誌中
在預設情況下,我們的mysql不會記錄慢查詢,需要在啟動mysql時候,指定記錄慢查詢才可以
bin\mysqld.exe - -safe-mode - -slow-query-log [mysql5.5 可以在my.ini指定]
bin\mysqld.exe –log-slow-queries=d:/abc.log [低版本mysql5.0可以在my.ini指定]
先關閉mysql,再啟動, 如果啟用了慢查詢日誌,預設把這個檔案放在my.ini 檔案中記錄的位置
#path to the database root
2-5、 測試,可以看到在日誌中就記錄下我們的mysql慢sql語句.
優化問題
通過 explain 語句可以分析,mysql如何執行你的sql語句
mysql的恢復 MYSQL的恢復
恢復就簡單多了!只要執行該備份檔案就行了,該備份檔案是sql哦!恢復完全備份mysql uroot p backup.sql 就這麼簡單!恢復增量備份mysqlbinlog mysql bin.000002 mysql u root p 注意此次恢復過程亦會寫入日誌檔案,如果資料量很大,建議先關閉日...
mysql的查詢日誌 mysql
這篇文章總結了mysql中查詢日誌的知識點。mysql中,日誌可以按照功能分為如下幾類。錯誤日誌 查詢日誌 慢查詢日誌 二進位制日誌 中繼日誌 innodb儲存引擎級別的事務日誌 查詢日誌 查詢日誌在mysql中被稱之為general log 通用日誌 不要被 查詢日誌 的名字誤導,錯誤的以為查詢日...
mysql的定義 MySQL定義
什麼是sql sql是結構化查詢語言。什麼是資料庫 資料庫是用來儲存資料的。關聯式資料庫 多張表之間的關係。關聯式資料庫包含表 表名 列 主鍵,通過相應的關係列來產生連線關係。資料庫與資料倉儲 資料庫是用來做交易 transaction 資料倉儲是用來做分析 analytics 資料倉儲的作用在於 ...