索引優化原則 1、最左前綴匹配原則,聯合索引,mysql會從做向右匹配直到遇到范圍查詢(>、<、between、like)就停止匹配,比如a = 1 and b = 2 and c > 3 and d = 4 如果建立(a,b,c,d)順序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引則都可以用到,a,b,d的順序可以任意調整。
2、=和in可以亂序,比如a = 1 and b = 2 and c = 3 建立(a,b,c)索引可以任意順序,mysql的查詢優化器會幫你優化成索引可以識別的形式
例如: 1、SELECT username FROM user WHERE signup_date >= CURDATE() 無法使用cache 2、SELECT username FROM user WHERE signup_date >= '2017-05-06' 可以cache 當使用了MySQL的一寫函數之后,MySQL無法確定結果是易變的,所以不會cache,還有now(),rand()也一樣不開啟cache 8、join 語法,盡量將小的表放在前面,在需要on的字段上,數據類型保持一致,并設置對應的索引,否則MySQL無法使用索引來join查詢