1、将in改为exists
2、循环选用数据量少的表
3、过滤数据多的条件尽量排在前面
4、索引列不写入函数
例如select count(balance_id) from ai_balance_prov_info t where balance_id /100 >10 慢
select count(balance_id) from ai_balance_prov_info t where balance_id >10*100 快
5、like操作最好只加后%例如 XX%而不要前后%%,例如%XX%,如果有可能用 AXX% or BXX%代替%XX%
6、当删除大数据量的表的时候用truncate代替delete
7、尽量用where 代替having
2、循环选用数据量少的表
3、过滤数据多的条件尽量排在前面
4、索引列不写入函数
例如select count(balance_id) from ai_balance_prov_info t where balance_id /100 >10 慢
select count(balance_id) from ai_balance_prov_info t where balance_id >10*100 快
5、like操作最好只加后%例如 XX%而不要前后%%,例如%XX%,如果有可能用 AXX% or BXX%代替%XX%
6、当删除大数据量的表的时候用truncate代替delete
7、尽量用where 代替having