索引,主键,唯一索引,联合索引 的区别
简单描述MySQL中,索引,主键,唯一索引,联合索引 的区别,对数据库的性能有什么影响
索引是一种特殊的文件(InnoDB 数据表上的索引是表空间的一个组成部分),它们 包含着对数据表里所有记录的引用指针。
主键索引(Primary Key): 数据表的主键列使用的就是主键索引。一张数据表有只能有一个主键,并且主键不能为null,不能重复。
唯一索引(Unique Key) :唯一索引也是一种约束。唯一索引的属性列不能出现重复的数据,但是允许数据为NULL,一张表允许创建多个唯一索引。 建立唯一索引的目的大部分时候都是为了该属性列的数据的唯一性,而不是为了查询效率。也就是说,唯一索引可以保证数据记录的唯一性。
普通索引 :由关键字 KEY 或 INDEX 定义的索引的唯一任务是加快对数据的访问速度,一张表允许创建多个普通索引,并允许数据重复和NULL。
前缀索引(Prefix) :前缀索引只适用于字符串类型的数据。前缀索引是对文本的前几个字符创建索引,相比普通索引建立的数据更小,
因为只取前几个字符。全文索引(Full Text) :全文索引主要是为了检索大文本数据中的关键字的信息,是目前搜索引擎数据库使用的一种技术。Mysql5.6之前只有MYISAM引擎支持全文索引,5.6之后InnoDB也支持了全文索引。
主键,是一种特殊的唯一索引,在一张表中只能定义一个主键索引,主键用于唯 一标识一条记录,使用关键字 PRIMARY KEY 来创建。
索引可以覆盖多个数据列,如像 INDEX(columnA, columnB)索引,这就是联合索引。
索引可以极大的提高数据的查询速度,但是会降低插入、删除、更新表的速度, 因为在执行这些写操作时,还要操作索引文件。
索引,主键,唯一索引,联合索引 的区别相关推荐
- oracle联合主键 索引,关于复合主键查询时使用索引研究
当数据库创建表时,每个表只能有一个主键,但是如果想让多个列都成为主键时,就要用到复合主键. 一.主键唯一约束 我们知道当某列为主键时,Oracle会自动将此列创建唯一约束.也就是说不允许有相同的值出现 ...
- mysql主键创建非聚集索引_什么是聚集索引,非聚集索引,索引覆盖,回表,索引下推...
聚集索引 我们先建如下的一张表 CREATE TABLE `student` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '学号',`name` var ...
- mysql主键索引需要创建_mysql主键还需要建立索引吗?
mysql主键不需要建立索引,主键具备索引的功能:当创建或设置主键的时候,mysql会自动添加一个与主键对应的唯一索引,不需要再做额外的添加.数据库管理系统对于主键会自动生成唯一索引,所以主键是一个特 ...
- SqlServer为什么自动在主键上建立聚集索引
微软推荐为每一个表建立一个聚集索引,但是由于sqlserver简单易用,而且很多人并不了解聚集索引,非聚集索引这些东西,所以如果sqlserver不在主键上建立聚集索引的话,可能会导致大部分的表都是堆 ...
- mysql 联合索引 唯一_mysql 联合索引和唯一索引
一般来说.如果有where a=? and b=? and c=? 的语句. 如果表也有DML, 我一般只在a 上建索引. 这也是代价平衡的结果. 一方面 只在a 上建索引那么是 index ran ...
- 简述一下索引的匹配原则_Mysql联合索引最左匹配原则
[toc] 为什么使用联合索引 以联合索引(a,b,c)为例 建立这样的索引相当于建立了索引a.ab.abc三个索引.一个索引顶三个索引当然是好事,毕竟每多一个索引,都会增加写操作的开销和磁盘空间的开 ...
- mysql 联合主键_Mysql 创建联合主键
Mysql 创建联合主键 2008年01月11日 星期五 下午 5:21 使用primary key (fieldlist) 比如: create table mytable ( aa int, bb ...
- mysql中主键约束和唯一约束的区别_主键约束和唯一性约束的区别
1.主键约束(PRIMARY KEY) 1) 主键用于唯一地标识表中的每一条记录,可以定义一列或多列为主键. 2) 是不可能(或很难)更新. 3) 主键列上没有任何两行具有相同值(即重复值),不允许空 ...
- oracle的Oem中设置联合主键,oracle添加联合主键,oracle联合主键
oracle添加联合主键,oracle联合主键 alter table tablename add constraint unionkeyname primary key (column1,colum ...
- 普通索引 唯一索引 主键索引 候选索引
普通索引 最基本的索引类型,没有唯一性之类的限制.普通索引可以通过以下几种方式创建: 创建索引,例如CREATE INDEX <索引的名字> ON tablename (列的列表): 修改 ...
最新文章
- OSI中端到端与点到点区别。
- javascript json_爬虫里总要用到的 JSON 是什么?
- boost::contract模块实现sum的测试程序
- 使用Maven搭建一个Web项目
- 华清实训的收获(人工智能的小广告和福利)
- java实现的简单程序登录界面
- pta7-3 统计不及格人数_应用统计专硕院校专业难度分析【青岛大学、苏大、西安交通大学】...
- 目标检测排行榜_3D领域重大突破!大华股份人工智能取得KITTI Object 3D车辆检测排行榜第一名...
- java 名词解释等
- oracle如何快速查找,Oracle 如何快速查找和删除重复记录
- linux Centos下磁盘分区及文件系统创建与挂载
- linux内核计算次方,linux内核中的循环缓冲去的设计与实现
- python有哪些用途-python是什么?python的用途
- Medieval Rampage
- creo工程图模板_Creo工程图的优越性总结(仅供参考),来自网友与君共享
- 系统学习机器学习之总结(三)--多标签分类问题
- python超声检测成像仿真_- 深度体验树莓派3:实操用Python驱动超声测距模块
- android 焦点的作用,详细介绍Android中的视图焦点Focus的使用
- TIFF图像文件格式与实例分析
- MySQL窗口函数——分组排序函数:number_rank(),rank(),dense_rank()