我实际上正在尝试在表的索引(book_name)上使用前导通配符LIKE,但是它说索引列不应使用前导通配符,从而降低了查询速度。因此,现在我尝试在其子弹列中使用领先的通配符。 Slug与book_name几乎相同,但是必须删除Slug中单词之间的连字符。
select book_name,book_id from
(select REPLACE(slug, '-',' ')
as tempslug
from books) as T
where tempslug like '%search words%'
order by book_name
P.S:@ MadhurBhaiya,@ Die,您好,朋友们!预期的输出是书名的行,但是书名应该可以在书名之间搜索:例如,如果必须找到一本书“ My best book”,那么查询应该适用于=> best或book的单词返回结果“我最好的书”。它正在执行,但是我希望通过其他任何方式或优化来加快查询速度,因为我使用了带索引列的前导通配符。