mysql怎么用 mysql優(yōu)化教程?
mysql優(yōu)化教程?1. 優(yōu)化SQL語句、索引和表結(jié)構(gòu)。2. 打開查詢緩存時,查詢緩存緩存選擇查詢及其結(jié)果數(shù)據(jù)集。當(dāng)執(zhí)行同一個select查詢時,MySQL將直接從內(nèi)存中檢索結(jié)果,這加快了查詢的執(zhí)行速
mysql優(yōu)化教程?
1. 優(yōu)化SQL語句、索引和表結(jié)構(gòu)。
2. 打開查詢緩存時,查詢緩存緩存選擇查詢及其結(jié)果數(shù)據(jù)集。當(dāng)執(zhí)行同一個select查詢時,MySQL將直接從內(nèi)存中檢索結(jié)果,這加快了查詢的執(zhí)行速度,減少了對數(shù)據(jù)庫的壓力。執(zhí)行show變量,比如“have”uqueryucache,您可以檢查MySQL查詢緩存是否打開。要打開查詢緩存,只需配置我的.cnf具體如下:
querycacheuuutype=1
querycacheuusize=128M
querycacheulimit=1m
保存后重新啟動mysql。
3. 選擇InnoDB存儲引擎。MySQL常用的存儲引擎是MyISAM和InnoDB。它們之間的區(qū)別如下:
MyISAM
查詢速度快;
支持表級鎖,在此期間不能對表執(zhí)行其他操作;
支持全文檢索;
支持?jǐn)?shù)據(jù)壓縮、自復(fù)制、查詢緩存和數(shù)據(jù)加密;
不支持外鍵;
不支持事務(wù),因此沒有提交和回滾操作;
不支持群集數(shù)據(jù)庫。
InnoDB
支持行級鎖;
支持外鍵和外鍵約束強制執(zhí)行;
支持事務(wù),可以執(zhí)行提交和回滾操作;
支持?jǐn)?shù)據(jù)壓縮、自復(fù)制、查詢緩存和數(shù)據(jù)加密;
可以在群集環(huán)境中使用,但不完全支持。InnoDB表可以轉(zhuǎn)換為NDB存儲引擎,可以在集群環(huán)境下使用。
怎么去看懂mysql的執(zhí)行計劃?
MySQL查看執(zhí)行計劃語句很簡單,說明你要執(zhí)行的SQL語句是可以的。
例如
解釋從員工中選擇*,其中員工。性別=“M”
返回的結(jié)果如下:
這些結(jié)果代表什么?
ID是一組數(shù)字,表示查詢中執(zhí)行select子句或操作表的順序。
如果ID相同,則執(zhí)行順序是從上到下。
如果是子查詢,則ID的序列號將增加。ID越大,優(yōu)先級越高,執(zhí)行的時間越早。
如果ID相同,則可以將其視為一個組并從上到下執(zhí)行。在所有組中,ID越高,優(yōu)先級就越高,執(zhí)行就越容易。
選擇類型包括簡單、主要、子查詢、派生、聯(lián)合和聯(lián)合結(jié)果。
簡單意味著查詢不包含子查詢或聯(lián)合。