数据库优化一直都是DBA(数据库管理员)的核心技能,今天学到了一个新的优化方式来分享给大家:LIMIT 1
“LIMIT”是MySql数据库中的一个关键字,常见的用于分页,那么它是如何做到优化数据的作用呢?
首先我们先来看一下LIMIT 1的作用,作用就是:只返回一条记录,即使有多条也忽略其他只返回第一条。
当我们知道某条SQL语句的返回结果永远只有一条的时候(例如用户登录)它就派上用场了。
实验
接下来实验一波,首先来看一下下面这条SQL语句
SELECT * FROM regions WHERE region_name LIKE "%北京市%"
为了实验效果,我使用了一个有70万条数据的地区表,为了增加查询时间,使用 LIKE 字段来模糊查询,第一次运行没有加LIMIT 1,运行了10次耗时都在0.3s左右
没有加LIMIT 1现在加上LIMIT 1来试验一波看看,查询十次,耗时没有超过0.1s!
加上LIMIT 1那么为什么会出现这种情况呢?
因为如果没有加 LIMIT 1 的话,数据库会在找到符合条件的记录以后继续向下查询,继续寻找另一个符合条件的记录,直到最后一条数据,如果我们已经知道得到的数据永远仅仅只有一条的话,那就可以加上 LIMIT 1,让数据库找到一条数据之后就立刻返回结果,这样就大大提升了性能!
网友评论