一. 查询某些条件下的数据是否存在
1.查询条件建立索引;
2.大数据量的时候尽量不要使用count(*)、count(1) 可以考虑这么写
select 1 from table where condition = ‘’ limit 1;
二. 分页优化
1.查询条件建立联合索引;
2.记录每次取出后的最后一条数据的ID, where id = 最后一条数据的ID limit 10,
select id from table where id = 最后一条数据的ID limit 10;
三. 查询某些条件下数据的行数
1.对于MyISAM表来说 MySQL可以利用存储引擎的特性直接获得这个值。SELECT COUNT() FROM table是最优选择,即只有没有任何where条件的COUNT()才非常快;
2.没有索引,先建下索引;
3.建一个中间表表,写一个触发器,存这个表的总行数。 触发器完成以下功能:当insert一条数据时 +1,当delete时 -1;
四. 注意避免索引失效的操作