【发布时间】:2013-01-30 10:43:10
【问题描述】:
我发现了一个关于 MySQL 索引的interesting SitePoint article
上面的文章谈到了“AND”语句,其中“SELECT”之类的
SELECT peopleid
FROM people
WHERE firstname='Mike'
AND lastname='Sullivan'
AND age=17
可以利用像
这样的多列索引ALTER TABLE people
ADD INDEX fname_lname_age (firstname,lastname,age);
但在我的网络应用程序中,我经常有一个文本字段输入,用户可以在其中输入部分名字或姓氏,从而产生如下查询:
SELECT peopleid
FROM people
WHERE ((firstname LIKE '%$parameter%')
OR (lastname LIKE '%$parameter%'))
AND age=17
那么,在这种情况下,多列索引是否也能提高性能?
提前致谢
【问题讨论】:
标签: mysql indexing multiple-columns