jay*_*ggy 0 php mysql indexing
我有一个大型 mySQL 数据库,它不断执行 SELECT 语句来搜索唯一的电子邮件地址。对电子邮件列建立索引会加快返回结果的速度吗?对这样的列建立索引有什么具体的优点和缺点吗?
谢谢!
SELECT ... FROM table WHERE email = 'foo@bar.com';是的。SELECT ... FROM table WHERE email LIKE 'foo@bar.com';是的。SELECT ... FROM table WHERE email LIKE 'foo@%';是的。SELECT ... FROM table WHERE email LIKE '%@bar.com'; 不。字符串索引从左到右匹配,您可以通配符字符串的结尾并仍然使用索引,但不能使用开头。
注意:这些并不是避免在必要列上放置索引的原因,而是避免不必要地对所有内容建立索引的原因。