在项目中的小细节来进行系统如何优化,规范代码
一、减少数据库请求次数,以减少不必要的连接
优化前
优化后
当需要一个对象中的多个属性时,不要多次重复请求数据库,尽量使用最少的sql完成操作。
二、创建合适的索引、提高索引使用效率
当数据库的表中,数据量庞大以及字段非常多时,可以通过创建索引进行数据库的优化,这样会有校提高查询的效率
**
注意:索引不可太多,执行UPDATE DELETE INSERT语句需要用于维护这些索引的开销量急剧增加,影响增、删、改性能
**
索引失效或效果差的情况:
1.频繁更新的字段不用(更新索引消耗);
2.where中不用的字段没必要用索引;
3.索引使用<>时,效果一般;
4.like以%开头失效;
5.需要类型转换失效;
存在索引列的数据类型隐形转换,则用不上索引,比如列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不使用索引
select * from test where user_name = ’123’有效
select * from test where user_name = 123 失效
6.where中索引列有运算失效;
select * from test where id-1=9;
7. where中索引列使用了函数失效;
select * from test where ABS(id)=1
8.如果mysql觉得全表扫描更快时(数据少);
9.如果条件中有or,即使其中有部分条件带索引也不会使用(这也是为什么尽量少用or的原因)
三、代码代替数据库处理数据,减少数据库处理压力,提高索引使用效率