2016-09-16 41 views
0

我的查詢包含LIKE "%BLABLA"。如果我添加索引,它會優化我的查詢嗎?如果是,集羣和非集羣B +樹索引都會改進我的查詢嗎?在SQL上索引奇怪的通配符

謝謝!

+0

標記您正在使用的dbms。這是產品特定的問題! – jarlh

+1

我不認爲'LIKE'過濾器能夠在樹遍歷期間使用通配符之後的任何東西。所以我不認爲索引會對這個特定查詢有所幫助。 –

+0

@TimBiegeleisen但在這裏:http://stackoverflow.com/questions/543580/equals-vs-like/39531185#39531185他們說這是可能的任何其他LIKE表達式 – Codevan

回答

1

LIKE 'abc'= 'abc'非常相似;
LIKE 'abc%'是一個「範圍」,它很可能能夠給我們一個索引;
LIKE '%abc'不能使用索引 - 因爲導致通配符。

如果您想討論可以爲您的查詢做什麼,請提供整個查詢,加上SHOW CREATE TABLE

1

您可以將反轉的數據存儲在另一個字段中,在該反轉字段上添加索引並針對該反轉字段進行查詢。而不是使用LIKE '%abc',您將使用LIKE 'cba%',使用反轉字段。