干货!SQL性能优化,书写高质量SQL语句
干货!SQL性能优化,书写高质量SQL语句 点点赞 不迷路 文末领取博主精心为大家准备的面试渡劫大礼包 写SQL语句的时候我们往往关注的是SQL的执行结果,但是是否真的关注了SQL的执行效率,是否注意了SQL的写法规范? 以下的干货分享是在实际开发过程中总结的,希望对大家有所帮助! 1.limit分页优化 当偏移量特别大时,limit效率会非常低。 SELECT id FROM A LIMIT 1000 , 10 很快 SELECT id FROM A LIMIT 90000 , 10 很慢 方案一 select id from A order by id limit 90000 , 10 ; 如果我们结合order by使用。很快,0.04秒就OK。 因为使用了id主键做索引! 当然,是否能够使用索引还需要根据业务逻辑来定,这里只是为了提醒大家,在分页的时候还需谨慎使用! 方案二 select id from A order by id between 90000 and 90010 ; 2.利用limit 1 、top 1 取得一行 有些业务逻辑进行查询操作时(特别是在根据某一字段DESC,取最大一笔).可以使用limit 1 或者 top 1 来终止[数据库索引]继续扫描整个表或索引 反例 SELECT id FROM A LIKE 'abc%' 正例 SELECT id