[SQL ] 如何改善 LIKE '%search%' 的效能?

看板Database (資料庫)作者 (statue)時間17年前 (2007/06/25 01:27), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/18 (看更多)
SELECT InventorySlot, ItemClassID, ItemSubClassID, ItemDisplayInfoDBC.Name AS ItemDisplayName, DisplayHtml, ReqLevel, ItemID, Name1, Quality, ItemDisplayID FROM WIDB, ItemDisplayInfoDBC WHERE ItemDisplayInfoDBC.ID = WIDB.ItemDisplayID AND Name1 LIKE '%怒氣藥水%' ORDER BY ItemLevel DESC LIMIT 100 Name1 是 varchar(255) utf-8 編碼的欄位. 這樣子查詢的結果會比對 WIDB 整個表格, 像是資料有 22179 就會比對這麼多次. 有加快的方式嗎? 下面是 EXPLAIN 的結果: id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE WIDB index ItemDisplayID ItemLevel 4 NULL 22179 Using where 1 SIMPLE ItemDisplayInfoDBC eq_ref PRIMARY PRIMARY 4 statue.WIDB.ItemDisplayID 1 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.68.121.199
文章代碼(AID): #16VgcSCr (Database)
討論串 (同標題文章)
文章代碼(AID): #16VgcSCr (Database)