【发布时间】:2013-10-30 12:12:08
【问题描述】:
我正在尝试了解 MySQL 中的索引。我知道在表中创建的索引可以加快查询的执行速度,也可以减慢行的插入和更新速度。
创建索引时,我在名为 authors 的表上使用了此查询,该表包含 (AuthorNum, AuthorFName, AuthorLName, ...)
Create index Index_1 on Authors ([What to put here]);
我知道我必须输入一个列名,但是哪个?
当用户查询表格时,我是否必须将要比较的列名放在 Where 语句中?
【问题讨论】:
-
通常(但不总是),在大多数情况下,索引由
where确定。用户如何搜索Authors?按名字,姓氏,...? -
我假设他们会搜索 AuthorFName。
-
索引不是专门从一列构建的,有些可能是从多列构建的,而另一些可能是从一列的一些信息构建的。例如,如果您有一个完整的
datetime列,但您知道您只会按date过滤记录,您可以基于datetime列构建索引,但仅包含date信息。