表的索引

索引用来排序数据以加快搜索和排序操作的速度。
注意:
1. 索引改善检索操作的性能,但降低了数据插入、修改和删除的性能。在执行这些操作时,DBMS必须动态的更新索引。
2. 索引数据可能有占用大量的存储空间。
3. 并非所有数据都适合做索引。取值不多的数据(如省)不如具有更多可能值(如姓或名)的数据,能通过索引得到那么多的好处。
4. 索引用于数据过滤和数据排序。如果你经常以特定的顺序排序数据,则该数据可能适合做索引。
5. 可以在索引中定义多个列。

普通索引

创建索引

CREATE INDEX prod_name_ind ON Products (prod_name);

索引必须唯一命名。
修改表结构添加索引

ALTER TABLE Products ADD INDEX prod_name_ind(prod_name);

创建表时直接指定索引

CREATE TABLE Products
(
  prod_id    char(10)      NOT NULL ,
  vend_id    char(10)      NOT NULL ,
  prod_name  char(255)     NOT NULL ,
  prod_price decimal(8,2)  NOT NULL ,
  prod_desc  text          NULL  
  INDEX [prod_name_idx] (prod_name)  
);  

删除索引

DROP INDEX[prod_name_idx] ON Product;
或者
ALTER TABLE Product DROP INDEX prod_name_idx;

唯一索引

它与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。它有以下几种创建方式:

创建索引

CREATE UNIQUE INDEX indexName ON mytable(username(length)) 

修改表结构

ALTER table mytable ADD UNIQUE [indexName] (username(length));

创建表的时候直接指定

CREATE TABLE mytable(  

ID INT NOT NULL,   

username VARCHAR(16) NOT NULL,  

UNIQUE [indexName] (username(length))  

);  

显示索引信息

你可以使用 SHOW INDEX 命令来列出表中的相关的索引信息。可以通过添加 \G 来格式化输出信息。
尝试以下实例:

SHOW INDEX FROM table_name; \G
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值