1
我有這個疑問在MySQL:如何提高「like」%variable%'「中的性能?
select *
from alias where
name like '%jandro%';
哪個結果是:
Jandro, Alejandro
上名的索引不能使用,因爲它是一個範圍過濾器適用於更高的性能。 有沒有改善查詢性能的方法?
我試過用全文索引,但它只適用於完整的單詞。
我也試過用MEMORY ENGINE表,它速度更快,但我想要一個更好的選擇。
編輯
我想我會剛剛接受這個現在:
select *
from alias where match(name) against ('jandro*' in boolean mode);
「內存引擎」速度更快,因爲整個表(僅)存在於RAM中。如果您關閉數據庫服務器或計算機,則該表爲GONE。如果你在其他地方(另一個表,非內存),但是確實知道你的數據不是永久的,這可能沒問題! – Konerak
謝謝。我知道。這只是內存中的一個非規範化表格,用於快速查找! :-) –
好的,很好,你知道,但我會留下評論,以便尋找解決方案的下一個人不使用'魔術記憶引擎'並認爲他的問題已經解決;) – Konerak