最左前綴原則底層原理 mysql索引匹配規(guī)則?
mysql索引匹配規(guī)則?1. 最左邊的前綴匹配原則:MySQL只匹配右邊,直到遇到范圍查詢(>,<,between,like)。例如,a=1和B=2,C>3和d=4。如果建立了(a,B,C
mysql索引匹配規(guī)則?
1. 最左邊的前綴匹配原則:MySQL只匹配右邊,直到遇到范圍查詢(>,<,between,like)。例如,a=1和B=2,C>3和d=4。如果建立了(a,B,C,D)順序的索引,則不能使用D。如果建立了(a,B,D,c)順序的索引,則可以使用D,a。B和D的順序可以任意調(diào)整。
2。=和in可以是無序的,例如,a=1、B=2和C=3。(a,B,c)索引可以按任何順序建立,MySQL的查詢優(yōu)化器將幫助您優(yōu)化成可識別的索引形式。
mysql優(yōu)化教程?
1。優(yōu)化SQL語句、索引、表結(jié)構(gòu)等。打開查詢緩存時,查詢緩存緩存選擇查詢及其結(jié)果數(shù)據(jù)集。當執(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í)行其他操作;
支持全文檢索;
支持數(shù)據(jù)壓縮、自復(fù)制、查詢緩存和數(shù)據(jù)加密;
不支持外鍵;
不支持事務(wù),因此沒有提交和回滾操作;
不支持群集數(shù)據(jù)庫。
InnoDB
支持行級鎖;
支持外鍵和外鍵約束強制執(zhí)行;
支持事務(wù),可以執(zhí)行提交和回滾操作;
支持數(shù)據(jù)壓縮、自復(fù)制、查詢緩存和數(shù)據(jù)加密;
可以在群集環(huán)境中使用,但不完全支持。InnoDB表可以轉(zhuǎn)換為NDB存儲引擎,可以在集群環(huán)境下使用。