MySQL优化SQL语句
最快和最少两个原则
最快:
1、使用主键作为条件
2、使用唯一的索引作为条件
3、使用整数(或时间)类型的索引作为条件
4、使用定长的列索引作为条件
最少:
缩小查询范围
用 select id 等代替 select *
用查询先找出最少的主键:select id from my_tab order by id desc limit 0,100
百万以上数据分页实例
取总数: Select SQL_BUFFER_RESULT count(id) as all_ID from my_tab
总页数: 总数/每页条数
最后一页的条数: 总数%每页条数
查询数据:
select id,title,price from my_tab m INNER JOIN ( select id as my_id from ( select id from my_tab order by id desc limit 1741500,100 ) as tmp ) as temp ON my_id=id
第一步、按照最快原则,以主键id作为条件排序 ( select id from my_tab order by id desc limit 1741500,100 ) as tmp
第二步、按照最少原则,只取回当前所需的记录,而且只取id ( select id from my_tab order by id desc limit 1741500,100 ) as tmp
第三步、按照最快原则,以主键id作为条件取回所需的信息 select id,title,price from my_tab m INNER JOIN ( … ) as temp ON my_id=id
显示列表实例: http://58.dwyfz.com