鍍金池/ 問答/數(shù)據(jù)庫/ MySQL: 反轉(zhuǎn)索引是MySQL自動生成還是需要手動生成?

MySQL: 反轉(zhuǎn)索引是MySQL自動生成還是需要手動生成?

看到網(wǎng)上說針對類似于 name like '%key' 的查詢,其中,name列建立了一個索引。如果想要走索引,可以用

where reverse(name) like reverse('%key')

我奇怪的是,name建立了一個索引,但是reverse(name)沒有建索引啊,難道MySQL自動生成?
還是說需要自己手動建立一列

譬如這樣?

    alter table add column reverse_name varchar(10) as (reverse(name));
    create index on reverse_name;


回答
編輯回答
厭遇

這是MySQL的一個優(yōu)化,因為reverse('%key') = 'yek%',而查詢like 'yek%'是可以走索引的。

2017年9月16日 19:02