mysql语句:KEY `name` (`pername`,`status`,`pid`)是啥意思?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql语句:KEY `name` (`pername`,`status`,`pid`)是啥意思?相关的知识,希望对你有一定的参考价值。
CREATE TABLE `mall_permission` (
`id` smallint(5) unsigned NOT NULL auto_increment,
`pid` smallint(5) unsigned NOT NULL,
`pername` varchar(20) NOT NULL COMMENT '英文名称',
`status` tinyint(3) unsigned NOT NULL,
`date` char(20) NOT NULL COMMENT '新增日期',
PRIMARY KEY (`id`),
KEY `name` (`pername`,`status`,`pid`)
)
这里的KEY `name` (`pername`,`status`,`pid`)是什么语法?
logrecord_id int(11) NOT NULL auto_increment,
user_name varchar(100) default NULL,
operation_time datetime default NULL,
logrecord_operation varchar(100) default NULL,
PRIMARY KEY (logrecord_id),
KEY wh_logrecord_user_name (user_name)
)
解析:
KEY wh_logrecord_user_name (user_name)
本表的user_name字段与wh_logrecord_user_name表user_name字段建立外键
括号外是建立外键的对应表,括号内是对应字段
类似还有 KEY user(userid)
当然,key未必都是外键
总结:
Key是索引约束,对表中字段进行约束索引的,都是通过primary foreign unique等创建的。常见有foreign key,外键关联用的。
KEY forum (status,type,displayorder) # 是多列索引(键)
KEY tid (tid) # 是单列索引(键)。
如建表时: KEY forum (status,type,displayorder)
select * from table group by status,type,displayorder 是否就自动用上了此索引,
而当 select * from table group by status 此索引有用吗?
key的用途:主要是用来加快查询速度的。 参考技术B http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html#create-table
KEY通常是INDEX同义词 参考技术C 唯一的意思吧追问
不懂。请不要猜迷式的回答。
mysql之索引
特点:查询速度大大提高
维护创建消耗大
unique 唯一索引,加上是索引,不加是遍历
普通索引:key / index index_name(有默认值) (name)
唯一索引:unique+普通索引
全文索引:fulltext+普通索引
多列索引:index / key (name,resume)
delimiter ! 以!为语句结束符,修改结束符
添加索引:create 和 add
create index index_name on tab_name(id);
alter table tab_name add [unique,fulltext... ] index index_name (field);
删除索引名:drop index index_name on tab_name;
以上是关于mysql语句:KEY `name` (`pername`,`status`,`pid`)是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章
mysql ON DUPLICATE KEY UPDATE重复插入时更新