PHP项目页面慢?这四个SQL坏写法改掉,查询速度直接快几十倍

8年前 (2018-08-11)阅读1回复0
genmulu
genmulu
  • 管理员
  • 注册排名1
  • 经验值27950
  • 级别管理员
  • 主题5590
  • 回复0
楼主

新手写PHP项目,功能跑通就完事,根本不管SQL查询效率,等数据攒到几万条,页面打开慢的要死,其实大部分慢查询都是几个固定的坏写法,改了之后查询速度直接快几十倍。第一个最常见的坏写法:列表查询不分页,一次select * 把几万条数据全查出来传到前端,数据库直接被拖满,正确做法是每页固定20条,用limit分页,每次只查当前页的数据;第二个坏写法:经常where条件查询的字段不加索引,比如按商家名字搜索、按用户ID查订单,这些字段全表扫描,一万条数据查一次就要几秒,给这些高频查询字段加上普通索引,查询速度直接从几秒降到几毫秒;第三个坏写法:like '%关键词%'这种前后模糊的查询,就算加了索引也用不上,别在大表上用这种模糊搜索,真要做全文搜索用专门的搜索引擎;第四个坏写法:查询的时候select *,把表里面所有字段都查出来,其实前端只需要标题、时间两个字段,多余的字段全是浪费IO,只查需要的字段就行。

记个实操要点:写列表查询,第一时间加limit分页;经常当查询条件的字段,先加索引;别用select *,只查页面要用的字段;别在大表上做前后模糊的like搜索。我自己之前踩过列表不分页的坑,一万条数据一次查出来,页面加载10秒,加了分页之后打开速度直接变成1秒,根本不用升级数据库配置,就改了几行SQL,效果特别明显。新手写SQL别光顾着能查出来就行,稍微注意下这几个点,几万条数据的表也能跑的飞快,不用等数据多了慢的用户都跑光才改。

本站源码来源于网络收集修改或者交换,甚至可能并非原创,如遇未经考证信息需持审慎态度。若有疑问,可联系本站处理。

本文地址:https://www.genmulu.cn/genmulu/3176.html

0
回帖

PHP项目页面慢?这四个SQL坏写法改掉,查询速度直接快几十倍 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息