作者statue (statue)
看板Database
标题[SQL ] 如何改善 LIKE '%search%' 的效能?
时间Mon Jun 25 01:27:53 2007
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