sql 模糊查詢優化


在sql語句中使用 like模糊查詢時,應該盡量避免%%,因為模糊查詢是比較慢的,當出現這樣的情況時,應該考慮優化。

舉個例子:我在表中查詢2012 年創建的記錄

SELECT * FROM `component_data` WHERE creation_date LIKE '2012%';

  得到的時間

[SQL] SELECT * FROM `component_data` WHERE creation_date LIKE '2012%';
受影響的行: 0
時間: 0.500ms

  考慮優化之后的sql如下

SELECT * FROM `component_data` WHERE creation_date>='2012-01-01' AND creation_date<'2013-01-01';

  運行結果

[SQL] SELECT * FROM `component_data` WHERE creation_date>='2012-01-01' AND creation_date<'2013-01-01';
受影響的行: 0
時間: 0.328ms

  可以看出,優化之后的提升是很大的。當查詢的結果比較多時,這個差異更為明顯。我這個查詢只有9000多條數據。

 

我只是舉了個例子。當遇到like查詢時,大家應該充分發揮你的聰明才智,具體問題進行具體對待,進行優化


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM