如題,求助大神們解答,謝謝!
uj5u.com熱心網友回復:
最好不要用資料庫來解決這種需求。如果非要用資料庫,至少需要控制每次模糊匹配后的資料量,否則性能不好控制——但這個又幾乎不可能
uj5u.com熱心網友回復:
同意樓上的觀點,在模糊匹配的同時,最好帶上日期,單號等能縮小資料范圍的條件uj5u.com熱心網友回復:
樓主把問題再具體一些,這樣的需求,在特定的SQL中,還是有優化的空間的。uj5u.com熱心網友回復:
如果只能在資料庫里跑的話,需考慮附帶的where條件,其它欄位是否可用上索引,總之是盡量縮小結果集訪問。實在只能全表掃描的話,可考慮加上并行查詢,充分發揮多核cpu的能力,根據cpu核數及負載情況。
uj5u.com熱心網友回復:
并行因為直接物理讀的機制,對硬體資源,尤其是存盤的要求太高,如果這種查詢的并發比較高,會將資料庫拖垮。
其實樓主可以考慮在ES、Redis等工具中先定位,通過定位到的ID或者名稱等再回傳資料庫做查詢。
uj5u.com熱心網友回復:

如果非要用資料庫優化的話,可以考慮用這種方法,就是將整張表的掃描轉移至對整條索引的快速全掃上。
uj5u.com熱心網友回復:
這個從業務角度去處理,有時候換個角度解決問題,這不是資料庫的強項。轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/22946.html
標籤:開發
