索引
索引允许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);