【MySql】2.1 mysql中的key、primary key、index区别
一、key与primary key区别CREATE TABLE logrecord (
logRecord_id int(11) NOT NULL primary key auto_increment,
userName varchar(100) default NULL,
operTime datetime default NULL,
logRecordOperation varchar(100) default NULL,
KEY logRecord_userName(userName)
)
建好后,再看表结构:
可见,Key创建的是一个索引约束,primary key显然是主键约束。
Key关键字括号外是建立索引的名称,括号内是对应字段。
key的用途:主要是用来加快查询速度的。
二、KEY与INDEX区别
KEY通常是INDEX同义词。
MySQL 中Index 与Key 的区别:
Key即键值,是关系模型理论中的一部份,比如有主键(Primary Key),外键(Foreign Key)等,用于数据完整性检查与唯一性约束等。而Index则处于实现层面,比如可以对表的任意列建立索引,那么当建立索引的列处于SQL语句中的Where条件中时,就可以得到快速的数据定位,从而快速检索。至于Unique Index,则只是属于Index中的一种而已,建立了Unique Index表示此列数据不可重复,猜想MySQL对Unique Index类型的索引可以做进一步特殊优化吧。
于是乎,在设计表的时候,Key只是处于模型层面的,而当需要进行查询优化,则对相关列建立索引即可。
另外,在MySQL中,对于一个Primary Key的列,MySQL已经自动对其建立了Unique Index,无需重复再在上面建立索引了。
页:
[1]