博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql中key 、primary key 、unique key 与index区别
阅读量:7236 次
发布时间:2019-06-29

本文共 2498 字,大约阅读时间需要 8 分钟。

CREATE TABLE pre_forum_post (  pid int(10) unsigned NOT NULL COMMENT '帖子id',  fid mediumint(8) unsigned NOT NULL default '0' COMMENT '论坛id',  tid mediumint(8) unsigned NOT NULL default '0' COMMENT '主题id',  `first` tinyint(1) NOT NULL default '0' COMMENT '是否是首贴',  author varchar(15) NOT NULL default COMMENT '作者姓名',  authorid mediumint(8) unsigned NOT NULL default '0' COMMENT '作者id',  `subject` varchar(80) NOT NULL default COMMENT '标题',  dateline int(10) unsigned NOT NULL default '0' COMMENT '发表时间',  message mediumtext NOT NULL COMMENT '消息',  useip varchar(15) NOT NULL default COMMENT '发帖者IP',  invisible tinyint(1) NOT NULL default '0' COMMENT '是否通过审核',  anonymous tinyint(1) NOT NULL default '0' COMMENT '是否匿名',  usesig tinyint(1) NOT NULL default '0' COMMENT '是否启用签名',  htmlon tinyint(1) NOT NULL default '0' COMMENT '是否允许HTML',  bbcodeoff tinyint(1) NOT NULL default '0' COMMENT '是否关闭BBCODE',  smileyoff tinyint(1) NOT NULL default '0' COMMENT '是否关闭表情',  parseurloff tinyint(1) NOT NULL default '0' COMMENT '是否允许粘贴URL',  attachment tinyint(1) NOT NULL default '0' COMMENT '附件',  rate smallint(6) NOT NULL default '0' COMMENT '评分分数',  ratetimes tinyint(3) unsigned NOT NULL default '0' COMMENT '评分次数',  `status` int(10) NOT NULL default '0' COMMENT '帖子状态',  tags varchar(255) NOT NULL default '0' COMMENT '新增字段,用于存放tag',  `comment` tinyint(1) NOT NULL default '0' COMMENT '是否存在点评',  replycredit int(10) NOT NULL default '0' COMMENT '回帖获得积分记录',  `position` int(8) unsigned NOT NULL auto_increment COMMENT '帖子位置信息',  PRIMARY KEY (tid, `position`),//就是这里  KEY fid (fid),  KEY authorid (authorid,invisible),  KEY dateline (dateline),  KEY invisible (invisible),  KEY displayorder (tid,invisible,dateline),  KEY `first` (tid,`first`),  UNIQUE KEY pid (pid)  ) ENGINE=MyISAM COMMENT='帖子表';
unique Key是唯一键,而Primary key是主键 Primary key 与Unique Key都是唯一性约束。但二者有很大的区别: 1、Primary key的1个或多个列 必须为NOT NULL,如果列为NULL,在增加PRIMARY KEY时,列自动更改为NOT NULL。而UNIQUE KEY 对列没有此要求。 2、一个表只能有一个PRIMARY KEY,但可以有多个UNIQUE KEY。

mysql中key 、primary key 、unique key 与index区别

http://www.jb51.net/article/93981.htm

http://zccst.iteye.com/blog/1697043

总结: 

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的用途:主要是用来加快查询速度的。 

转载于:https://www.cnblogs.com/as3lib/p/6632749.html

你可能感兴趣的文章
苹果进军印度市场到底有多难 连财政部长都不帮忙
查看>>
监控摄像机选型攻略之技术类型选用
查看>>
JAVA笔记——序列化
查看>>
《数据科学:R语言实现》——3.1 引言
查看>>
协作软件的前景、进展以及阵痛
查看>>
PyTorch 和 TensorFlow 哪个更好?看一线开发者怎么说
查看>>
怎么善于发现seo网站优化的问题?
查看>>
《Metasploit渗透测试手册》—第8章8.1节介绍
查看>>
《UG NX8.0中文版完全自学手册》一1.4 工具栏的定制
查看>>
合三为一,Linux 基金会欲打造顶级开源峰会
查看>>
《计算机系统:系统架构与操作系统的高度集成》——2.8 编译函数调用
查看>>
不要成为工具的奴隶
查看>>
IO多路复用之select/poll/epoll总结
查看>>
菜鸟Vue学习笔记(一)
查看>>
好程序员web前端分享CSS3 边框
查看>>
干货|数据区块链在钢铁行业的应用(分享实录)
查看>>
Java NIO(五)Scatter Gather
查看>>
Android 8.1平台SystemUI虚拟导航键加载流程解析
查看>>
ViewPager2结合TabLayout
查看>>
java 异常
查看>>