当前位置:Gxlcms > 数据库问题 > MySQL 索引优化原则

MySQL 索引优化原则

时间:2021-07-01 10:21:17 帮助过:30人阅读

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查询   9、在大表上做大量更新时,如果会锁全表,则需要拆分执行,避免长时间锁住表,导致其他请求积累太多(InnoDB 支持行锁,但前提是Where子句需要建立索引,没有索引也一样是锁全表)
 1 while (1) {
 2     //每次只做1000条
 3    mysql_query("DELETE FROM logs WHERE log_date <= ‘2009-11-01‘ LIMIT 1000");
 4    if (mysql_affected_rows() == 0) {
 5         // 没得可删了,退出!
 6         break;
 7     }
 8     // 每次都要休息一会儿
 9     usleep(50000);
10 }

 

MySQL 索引优化原则

标签:很多   没有   delete   无法   否则   请求   break   bsp   避免   

人气教程排行