SQL语句优化和注意点

  1. 去除冗余字段,只返回使用到的字段参数
  2. 避免使用*号,统计总数使用count(1)
  3. 表筛选数据,固定条件参数,写在最底层SQL,避免查找表所有数据
  4. 筛选条件IN如果使用多个参数,可以使用wehre (a,b,c) in ((‘1’,‘2’,‘3’),(‘1’,‘2’,‘3’)) 形式。避免返回全部数据和到代码去做筛选查找
  5. SQL能确认的参数值,可以使用$注入方式
  6. 导出:一次性查询提交不要过多,尽量使用分页提交处理,提交过多会导致内存溢出处理不过来
  7. 插入:使用select查询插入insert数据时,数据量过大,需分页处理插入,不然可能导致连接池直接爆满/出现锁表情况
  8. mysql limit分页,分页起始数越大,加载越慢,因为limit需要跳到当前起始行,过滤掉前面的数据。解决方案:可以通过索引筛选条件(如:id),找到当前需要开始的这一行,然后直接进行分页

持续更新中…

你可能感兴趣的:(数据库,数据库,sql)