A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

在做大数据量的web开发的过程中,在程序开发的任何一步中都需要认真的思考能否有更好的办法来提高程序的执行效率。

下面分享一个在实际工作中经常用到却很容易被忽视的一个优化mysql查询效率的方法,合理的使用limit 1。

目前有如下一张表(用户表):

create table member(

id int primary key auto_increment,
username varchar(40),
password varchar(40)

);
我们在开发中的登录操作经常这样写:

SELECT * FROM member WHERE `username`='www.kubiji.cn';
或者:

SELECT * FROM member WHERE `username`='www.kubiji.cn' LIMIT 1;
这两种查询方法都很常见,但你知道他们的实际差别吗?

经作者以100万条数据做测试得出结果:

第一条查询语句耗时 0.56 s

第二条使用了 LIMIT 1 后的查询语句耗时 0.28 s

由上可见在数据量很大的情况下,适当的使用LIMIT 1对查询操作的优化效果还是相当明显的。

注意:如果以上表字段中username被设置为了索引的话,这个时候使用LIMIT 1在查询速度上没有明显的效果。

6 个回复

正序浏览
回复 使用道具 举报
回复 使用道具 举报

奈斯,优秀
回复 使用道具 举报
牛牛牛!
回复 使用道具 举报
奈斯
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马