- 积分
- 117
- UID
- 12960
- 阅读权限
- 20
- 注册时间
- 2012-12-12
- 精华
- 在线时间
- 小时
- 最后登录
- 1970-1-1
- 职业
- 12
|
6.2.4 创建和查看多列索引
所谓多列索引,就是指在创建索引时,所关联的字段不是一个字段,而是多个字段。虽然可以通过所关联的字段进行查询,但是只有查询条件中使用了所关联字段中第一个字段,多列索引才会被使用。
1、创建表时创建多列索引
查看帮助文档发现,在MySQL数据库管理系统中创建全文索引通过SQL语句INDEX来实现,其语法形式如下:
CREATE TABLE table_name (
属性名 数据类型,
属性名 数据类型,
……
属性名 数据类型,
INDEX|KEY 【索引名】 (属性名1 【(长度)】 【ASC|DESC】,
……
属性名n 【(长度)】 【ASC|DESC】)
);
上述语句创建索时,所关联的字段至少大于一个字段。
【实例6-10】执行SQL语句INDEX,在数据库company中,于表t_dept的dname和loc字段上创建多列索引。具体步骤如下:
(1)执行SQL语句USE,选择数据库company,具体SQL语句如下:
USE company;
(2)执行SQL语句INDEX,在创建表t_dept时,于dname和loc字段上上创建多列索引,具体SQL语句如下:
CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
loc VARCHAR(40),
KEY index_dname_loc(dname,loc)
);
【代码说明】在上述语句中,创建表t_dept的同时设置了关于字段deptno和loc的多列索引对象index_dname_loc。
(3)为了校验数据库表t_dept中多列索引是否创建成功,执行SQL语句SHOW CREATE TABLE,具体SQL语句内容如下:
SHOW CREATE TABLE t_dept \G
执行结果显示,已经于数据库表t_dept上创建了一个名为index_dname_loc多列索引,其所关联的字段为dname和loc。
(4)为了校验数据库表t_dept中索引是否被使用,执行SQL语句EXPLAIN,具体SQL语句内容如下:
EXPLAIN
SELECT * FROM t_dept WHERE dname=’cjgong’;
执行结果显示,possible_keys和key字段处的值都为所创建的索引名index_dname_loc,则说明该索引已经存在,而且已经开始启用。 |
|