SQL循序渐进(18)
| 编译：ZSC / 太平洋网络学院 |  |

索引

索引允许DBMS更快地访问数据。系统创建了这个内部地数据结构（即索引），它导致当查询以列为索引的时候搜索行，这样查询会快得多。这个索引对于给定列索引数值的时通知DBMS找到表中某一行，这有点象书的索引，它告诉你对于给定的字你能找到哪一页。下面让我们在AntiqueOwners列中为OwnerID创建索引：

CREATE INDEX OID_IDX ON ANTIQUEOWNERS (OWNERID);

下面语句是为名字创建所以：

CREATE INDEX NAME_IDX ON ANTIQUEOWNERS (OWNERLASTNAME, OWNERFIRSTNAME);

为了删除索引，你可以利用DROP：

DROP INDEX OID_IDX;

就象前面教程中，我们也可以"drop"（删除）一个表。上面第二个例子中，是在两列上创建索引的。

有些DBMS不强迫要求主键，换句话说就是，类的唯一性不会自动强制。这是什么意思呢，好象听起来云里雾里的。好吧，再给你举个例子，如果你象插入另外一行到AntiqueOwners表中，比如这个OwnerID是02，有些系统可以让你这样做即使我们要求所有行的数值都要是不同的。为了避免两行有相同的值，我们有一种方法来克服，就是在列上创建唯一的索引，而在这个列上我们需要它成为主键，这样就可以系统不会出现复制的情况：

CREATE UNIQUE INDEX OID_IDX ON ANTIQUEOWNERS (OWNERID);