5、索引的操作 ----第2篇

来源:互联网 发布:诈骗 知乎 编辑:程序博客网 时间:2024/06/03 18:16

小结:
索引存在于表中。

对应第6章
索引:提高查询速度,但索引太多占据空间。
不适合建索引的字段:查询中用得少的,拥有许多重复值的字段。

创建索引

1、创建普通索引:

法1:创建表时创建索引:CREATE TABLE t_dept(    deptno INT,    dname VARCHAR(20),    loc VARCHAR(40),    INDEX index_deptno(deptno));法2:CREATE INDEX index_dname ON t_dept(dname);   -- 在表t_dept的dname上建立索引法3:ALTER TABLE t_dept ADD INDEX index_loc(loc);-- 在表t_dept的loc上建立索引

2、创建唯一索引:
唯一索引可以更快地查询某条记录。
唯一索引的那列必须是UNIQUE的

法1:创建表时创建索引:CREATE TABLE t_dept(    deptno INT UNIQUE,    -- 注意此属性是UNIQUE的    dname VARCHAR(20),    loc VARCHAR(40),    UNIQUE INDEX index_deptno(deptno));法2:CREATE UNIQUE INDEX index_deptno ON t_dept(deptno);   -- 在表t_dept的deptno上建立索引法3:ALTER TABLE t_dept ADD UNIQUE INDEX index_deptno(deptno);-- 在表t_dept的deptno上建立索引

3、创建全文索引:
全文索引主要建立在CHAR、VARCHAR、TEXT字段上,查询数据量较大的字符串类型的变量。
只能在存储引擎为MyISAM上建立全文索引。
全文索引搜索为不区分大小写,如果字段为二进制类型,则区分大小写。

法1:CREATE TABLE t_dept(    deptno INT,    dname VARCHAR(20),    loc VARCHAR(40),    FULLTEXT INDEX index_loc(loc)       )ENGINE=MYISAM;    -- 注意此处法2:CREATE FULLTEXT INDEX index_loc ON t_dept(loc);法3:ALTER TABLE t_dept ADD FULLTEXT INDEX index_loc(loc);

4、创建多列索引(实际也是普通索引):

法1:CREATE TABLE t_dept(    deptno INT,    dname VARCHAR(20),    loc VARCHAR(40),    INDEX index_dname_loc(dname,loc));法2:CREATE INDEX index_dname_loc ON t_dept(dname,loc);法3:ALTER TABLE t_dept ADD INDEX index_dname_loc(dname,loc);

可以用SQLyog软件方便地创建索引,不过必须让里面先有一个索引之后右键“创建索引”才有效,如果一开始索引为空右键创建不行。

删除索引

DROP INDEX 索引名 ON 表名;右键直接删除也可。
0 0