sql优化篇
1、避免select * 因为会查询出所有列,一般在工作中,只需要查询出相关的列即可,查询多了浪费内存,Cpu,io 还有数据库性能,还有select * 不会有覆盖索引 还会有很多回表操作,浪费性能
2、使用小表数据驱动大表数据 例如 先查询出200条数据表 在去in 20000条数据表
3、如果是多数据插入,一定要使用批量插入操作,因为数据库的链接资源更耗时
4、多使用limit 进行区间索引
5、查询一个表里是否有数据或没有数据 不需要使用 count()关键字,只需要写 select 1 from 就行了, 那这种返回的结果只有 1和null ,如果关注的是具体几条数据 那就使用count(1)代替count(*)
6、高效率分页查询 一般现在列表都会采用分页查询,分页查询如果做出优化呢? 可以采用上个分页里面最大的id作为查询条件,这个需要保证id是连续性的,并且查询也需要排序前提, 还可以使用时间,毕竟一般查询列表时 必须要用时间去过滤条件,如果没有那就是设计有问题,可以用上个页列表里面的最大时间或最小时间 做下一页查询 或上一页查询 的开始条件 这样索引就能缩小很多,还有的是
7、用连接查询代替子查询,
8、选择合理的字段类型 nvarchar(n) n最多能占用几个字符 不区分中英文,varchar(n) 最多能放多少个字节 一个中文两个字节
9、索引优化 使用 explain 查看sql是否命中索引
10、利用索引最左匹配原则

浙公网安备 33010602011771号