在作大數據量的web開發的過程當中,在程序開發的任何一步中都須要認真的思考可否有更好的辦法來提升程序的執行效率。html
下面分享一個在實際工做中常常用到卻很容易被忽視的一個優化mysql查詢效率的方法,合理的使用limit 1。mysql
目前有以下一張表(用戶表):web
create table member( id int primary key auto_increment, username varchar(40), password varchar(40) );
咱們在開發中的登陸操做常常這樣寫:sql
SELECT * FROM member WHERE `username`='www.kubiji.cn';
或者:測試
SELECT * FROM member WHERE `username`='www.kubiji.cn' LIMIT 1;
這兩種查詢方法都很常見,但你知道他們的實際差異嗎?大數據
經做者以100萬條數據作測試得出結果:優化
第一條查詢語句耗時 0.56 surl
第二條使用了 LIMIT 1 後的查詢語句耗時 0.28 s.net
由上可見在數據量很大的狀況下,適當的使用LIMIT 1對查詢操做的優化效果仍是至關明顯的。htm
注意:若是以上表字段中username被設置爲了索引的話,這個時候使用LIMIT 1在查詢速度上沒有明顯的效果。