mysql中index和key的区别
2017-10-25 22:05
253 查看
网上查找到的大部分都是这样解释的:
key 是数据库的物理结构,它包含两层意义,一是约束(偏重于约束和规范数据库的结构完整性),二是索引(辅助查询用的);
index是数据库的物理结构,它只是辅助查询的,它创建时会在另外的表空间(mysql中的innodb表空间)以一个类似目录的结构存储;
于是自己做了一个测试,测试的mysql版本:5.5.28
1.创建一个表
2.创建key
3.创建index
4.查看sql
显示:
也就是说创建key和创建index是一样的,在sql的体现上都是KEY;
在:https://dev.mysql.com/doc/refman/5.6/en/create-table.html
中有了解释:
也就是说key和index通常是一样的,这样是为了和其他数据库的兼容性而实现的。
但是并不是所有的key和index都是一样的,如果创建的是约束,比如PRIMARY KEY,FOREIGN KEY这种表示约束的,只能用key。
key 是数据库的物理结构,它包含两层意义,一是约束(偏重于约束和规范数据库的结构完整性),二是索引(辅助查询用的);
index是数据库的物理结构,它只是辅助查询的,它创建时会在另外的表空间(mysql中的innodb表空间)以一个类似目录的结构存储;
于是自己做了一个测试,测试的mysql版本:5.5.28
1.创建一个表
CREATE TABLE `index_test` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `key_1` bigint(20) NOT NULL, `index_1` bigint(20) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2.创建key
ALTER TABLE index_test ADD KEY key_1(key_1);
3.创建index
ALTER TABLE index_test ADD INDEX index_1(index_1);
4.查看sql
SHOW CREATE TABLE index_test;
显示:
CREATE TABLE `index_test` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `key_1` bigint(20) NOT NULL, `index_1` bigint(20) NOT NULL, PRIMARY KEY (`id`), KEY `key_1` (`key_1`), KEY `index_1` (`index_1`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8
也就是说创建key和创建index是一样的,在sql的体现上都是KEY;
在:https://dev.mysql.com/doc/refman/5.6/en/create-table.html
中有了解释:
也就是说key和index通常是一样的,这样是为了和其他数据库的兼容性而实现的。
但是并不是所有的key和index都是一样的,如果创建的是约束,比如PRIMARY KEY,FOREIGN KEY这种表示约束的,只能用key。
相关文章推荐
- mysql中key 、primary key 、unique key 与index区别
- mysql中key 、primary key 、unique key 与index区别
- mysql中key 、primary key 、unique key 与index区别
- mysql key index区别
- mysql中key 、primary key 、unique key 与index区别
- MySQL中KEY与INDEX的区别
- mysql中key 、primary key 、unique key 与index区别
- mysql中key 、primary key 、unique key 与index区别
- MySQL中Index与Key的区别
- mysql中key 、primary key 、unique key 与index区别
- mysql中key 、primary key 、unique key 与index区别
- Mysql索引详解及优化(key和index区别)
- Mysql中index与key的区别
- mysql中key 、primary key 、unique key 与index区别
- mysql中key 、primary key 、unique key 与index区别
- mysql中key 、primary key 、unique key 与index区别
- mysql中key 、primary key 、unique key 与index区别
- mysql中key 、primary key 、unique key 与index区别
- MySQL 中 key, primary key ,unique key,index的区别
- MySQL中Index与Key的区别