Mysql高效的模糊查詢(轉)
Mysql高效的模糊查詢(轉)[@more@] 我們開發資料庫應用時,常常需要用到模糊查詢。如果同一個條件需要匹配很多欄位怎麼辦呢?通常,程式設計師會每個欄位都在 SQL 中“field like '%cond%'”一次。這樣,SQL語句會長得驚人,碰上覆雜一點的,甚至SQL語句會因為超長而被資料庫拒絕執行。
其實,這個問題只要動動腦筋就很容易解決:
首先,將要匹配相同條件的欄位連起來(field1+field2+...)成一個長字串;然後再 Like “%cond%”就可以了。
不過這種方法有個問題,就是得權衡多表連線造成的效率降低。一般來說,單表內欄位肯定應該連線後再統一 like 判斷;表間欄位,則需要先過濾後,再實行這個策略。
採取這個策略,不僅可以縮短 SQL,而且能夠有效地提高SQL的執行效率。
其實,這個問題只要動動腦筋就很容易解決:
首先,將要匹配相同條件的欄位連起來(field1+field2+...)成一個長字串;然後再 Like “%cond%”就可以了。
不過這種方法有個問題,就是得權衡多表連線造成的效率降低。一般來說,單表內欄位肯定應該連線後再統一 like 判斷;表間欄位,則需要先過濾後,再實行這個策略。
採取這個策略,不僅可以縮短 SQL,而且能夠有效地提高SQL的執行效率。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-948991/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- elasticsearch的模糊查詢Elasticsearch
- PostgreSQL實時高效搜尋-全文檢索、模糊查詢、正則查詢、相似查詢、ADHOC查詢SQL
- 如何處理 MySQL 萬用字元的模糊查詢MySql字元
- MySQL模糊查詢(like)時區分大小寫MySql
- oracle 精確查詢和模糊查詢Oracle
- pgsql查詢優化之模糊查詢SQL優化
- MyBatis模糊查詢LIKEMyBatis
- sql日期模糊查詢SQL
- MySQL簡單實現多欄位模糊查詢MySql
- jsp+servlet+mysql多條件模糊查詢JSServletMySql
- LINQ中的模糊查詢
- Java ——MongDB 插入資料、 模糊查詢、in查詢Java
- 拋棄mysql模糊查詢,使用sphinx做專業索引MySql索引
- sql 模糊查詢問題SQL
- mybatis做like模糊查詢MyBatis
- Mybatis各種模糊查詢MyBatis
- 反向索引與模糊查詢索引
- Mysql模糊查詢預設是不區分字母大小寫的MySql
- MYSQL高效能學習查詢心得MySql
- Mybatis中Oracle的拼接模糊查詢MyBatisOracle
- mybatis 對特殊字元的模糊查詢MyBatis字元
- Oracle特殊符號的模糊查詢Oracle符號
- python 當中的模糊查詢Python
- mysql樹狀查詢(轉)MySql
- mysql模糊查詢like與REGEXP的使用詳細介紹MySql
- int 被當作模糊查詢
- 加密的手機號,如何模糊查詢?加密
- SQL使用模糊查詢like的優化SQL優化
- 15個高效的MySQL資料庫查詢小技巧MySql資料庫
- 帶你玩玩轉 MySQL 查詢MySql
- Mysql 查詢時間轉換MySql
- 使用Excel進行快速模糊查詢的方法Excel
- 實現城市列表的排序及模糊查詢排序
- Mybatis中模糊查詢的各種寫法MyBatis
- 報表怎麼做模糊查詢
- 【PostgreSQL】 字首模糊查詢級優化SQL優化
- mybatis-模糊查詢like CONCATMyBatis
- Mybatis模糊查詢結果為空MyBatis