mysql慢查詢?nèi)罩驹趺纯?如何開啟MySQL慢查詢?nèi)罩荆?/h1>
如何開啟MySQL慢查詢?nèi)罩??shell>mysql -u root -p #輸入密碼 mysql>show variables like "%slow%" #檢查下面幾條參數(shù) slow_qu
如何開啟MySQL慢查詢?nèi)罩荆?/h2>
shell>mysql -u root -p #輸入密碼 mysql>show variables like "%slow%" #檢查下面幾條參數(shù) slow_query_log #這個(gè)是表示的slow log有沒開 slow_query_log_file #這個(gè)是slow log的地址 #然后直接vim 那個(gè)文件就可以了
mysql優(yōu)化教程?
1、對(duì)SQL語句、索引、表結(jié)構(gòu)等進(jìn)行優(yōu)化。
2、開啟查詢緩存,Query Cache緩存了SELECT查詢及其結(jié)果數(shù)據(jù)集,當(dāng)執(zhí)行一個(gè)同樣的SELECT查詢時(shí),MySQL會(huì)從內(nèi)存中直接取出結(jié)果,加快了查詢執(zhí)行速度、減小了數(shù)據(jù)庫的壓力。執(zhí)行SHOW VARIABLES LIKE "have_query_cache"可以查看MySQL查詢緩存是否打開,開啟查詢緩存只需配置my.cnf文件即可,具體如下:
query_cache_type = 1
query_cache_size = 128M
query_cache_limit = 1M
保存好后重啟MySQL。
3、選用InnoDB存儲(chǔ)引擎,MySQL常用存儲(chǔ)引擎是MyISAM和InnoDB,二者區(qū)別如下:
MyISAM
查詢速度快;
支持表級(jí)鎖,在上鎖期間表上不能進(jìn)行其他操作;
支持全文檢索;
支持?jǐn)?shù)據(jù)壓縮、自我復(fù)制、查詢緩存、數(shù)據(jù)加密;
不支持外鍵;
不支持事務(wù),所以也就沒有COMMIT和ROLLBACK操作;
不支持集群數(shù)據(jù)庫。
InnoDB
支持行級(jí)鎖;
支持外鍵,對(duì)外鍵約束強(qiáng)制;
支持事務(wù),可執(zhí)行COMMIT和ROLLBACK操作;
支持?jǐn)?shù)據(jù)壓縮、自我復(fù)制、查詢緩存、數(shù)據(jù)加密;
可用在集群環(huán)境,但并不完全支持。InnoDB表可以轉(zhuǎn)換為NDB存儲(chǔ)引擎,這樣就能用在集群環(huán)境。