另外,什么时候适合使用?
索引用于加快在数据库中的搜索。MySQL 有一些关于这个主题的好文档(这也与其他 SQL 服务器相关): http ://dev.mysql.com/doc/refman/5.0/en/mysql- indexes.html
索引可用于有效地查找与查询中某个列匹配的所有行,然后仅遍历表的该子集以查找精确匹配。WHERE如果子句中的任何列都没有索引,则SQL服务器必须遍历 整个表 并检查每一行以查看是否匹配,这在大表上可能是一个缓慢的操作。
WHERE
SQL
索引也可以是UNIQUE索引,这意味着您不能在该列中有重复的值,或者PRIMARY KEY在某些存储引擎中定义了值在数据库文件中的存储位置。
UNIQUE
PRIMARY KEY
在 MySQL 中,您可以EXPLAIN在语句前面使用SELECT来查看您的查询是否会使用任何索引。这是解决性能问题的良好开端。在这里阅读更多:http: //dev.mysql.com/doc/refman/5.0/en/explain.html
EXPLAIN
SELECT