知识点差缺不漏贴:索引的分类

一、引言  今晚突然间被人问起关于索引分类的问题,居然出现了脑子的短路,没有回答上来,很是不应该,搜集一下资料,算是立此存照。  二、建立索引的优点:  1.大大加快数据的检索速度;     2.创建唯一性索引,保证数据库表中每一行数据的唯一性;     3.加速表和表之间的连接;     4.在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。

三、索引类型:  根据数据库的功能,可以在数据库设计器中创建四种索引:唯一索引、非唯一索引、主键索引和聚集索引。 尽管唯一索引有助于定位信息,但为获得最佳性能结果,建议改用主键或唯一约束。  

唯一索引:   唯一索引是不允许其中任何两行具有相同索引值的索引。   当现有数据中存在重复的键值时,大多数数据库不允许将新创建的唯一索引与表一起保存。数据库还可能防止添加将在表中创建重复键值的新数据。例如,如果在 employee 表中职员的姓 (lname) 上创建了唯一索引,则任何两个员工都不能同姓。     

非唯一索引:   非唯一索引是相对唯一索引,允许其中任何两行具有相同索引值的索引。   当现有数据中存在重复的键值时,数据库是允许将新创建的索引与表一起保存。这时数据库不能防止添加将在表中创建重复键值的新数据。     

主键索引:   数据库表经常有一列或列组合,其值唯一标识表中的每一行。该列称为表的主键。   在数据库关系图中为表定义主键将自动创建主键索引,主键索引是唯一索引的特定类型。该索引要求主键中的每个值都唯一。当在查询中使用主键索引时,它还允许对数据的快速访问。 

聚集索引(也叫聚簇索引):在聚集索引中,表中行的物理顺序与键值的逻辑(索引)顺序相同。一个表只能包含一个聚集索引。   如果某索引不是聚集索引,则表中行的物理顺序与键值的逻辑顺序不匹配。与非聚集索引相比,聚集索引通常提供更快的数据访问速度。
时间: 2024-11-08 22:05:54

知识点差缺不漏贴:索引的分类的相关文章

通过Http管理Solr Core,实现索引的分类

查看所有core的状态 使用样例 http://172.168.63.233:8983/solr/admin/cores?action=STATUS 查看某一个core的状态 http://172.168.63.233:8983/solr/admin/cores?action=STATUS&core=collection3 创建core 需要提供coreName.实例路径.Config配置.schema文件及数据目录 , 其中instanceDir必须要. config, schema &

索引的分类,优缺点,使用

索引的分类 主键索引:某一个属性组能唯一标识一条记录,主键索引只能有一个 唯一索引:避免同一个表中某数据列中的值重复,唯一索引可有多个 常规索引:快速定位特定数据,应加在查询条件的字段,不易添加太多常规索引,影响数据的插入,删除和修改操作 复合索引:指多个字段上创建的索引,只有复合索引的第一个字段出现在查询条件中,该索引才可能被使用,因此将应用频度高的字段,放置在复合索引的前面,会使系统最大可能地使用此索引,发挥索引的作用 关于聚集索引和非聚集索引:https://blog.csdn.net/y

SQL索引是什么?索引的作用是什么?索引的优点是什么?索引的缺点是什么?索引的分类?什么情况下该创建索引?

1.SQL索引是什么?定义:索引(Index)是帮助MySQL高效获取数据的数据结构,就好比书的目录,加快数据库的查询速度. 2.SQL索引的作用是什么?优点是什么?提高查询效率消除数据分组.排序避免“回表”查询(索引覆盖)优化聚合查询用于多表JOIN关联查询利用唯一性约束,保证数据唯一性InnDB行锁实现 3.使用索引的优点(1)可以通过建立唯一索引或者主键索引,保证数据库表中每一行数据的唯一性.(2)建立索引可以大大提高检索的数据,以及减少表的检索行数(3)在表连接的连接条件 可以加速表与表

2星|陈春花《共生》:逻辑差语文差缺证据。不敢相信知名商学院教授的书居然这么差

共生:未来企业组织进化路径 读后非常吃惊,不敢相信知名商学院教授的书,居然这么差.把作者名字换掉,这本书可能会被认为是枪手攒出来的口水类经管书. 作者主要的思想是现在的企业之间的关系正在向共生的方向发展,企业没有大小.主客之分,互相依赖.举的典型案例是京东跟各个代理商的关系,作者认为是共生,我认为太牵强. 写作风格不像学者.没有严谨的推理和证明,基本是随口下个结论,然后举个例子来证明,或者先举个例子,再跟着下结论.举的案例中,要么是京东.小米等企业的公关稿中的大段文字.数字或图表,要么是众所周知

Android --差缺补漏之 Intent&putExtra()

伴随着Android Developers 的开发,再也不用FQ了,这意味着Android 对中国学习者有着越来越多的官方学习资料,学习起来有更明确的方向和目标. Android Developer 官网:https://developer.android.google.cn/index.html 之前的博客用过Intent ,但没有深讲, 今天就来讲一下Intent 和 putExtra(). 一.什么是Intent 1.Intent的概念: Android中提供了Intent机制来协助应用间

javascript知识点查缺补漏

1,过滤唯一值 ES6中的set对象类型,配合展开操作...一起,可以使用它来创建新数组,使得该数组只有唯一的值. eg. const array = [1, 1, 2, 3, 5, 5, 1] const uniqueArray = [...new Set(array)]; console.log(uniqueArray); // Result: [1, 2, 3, 5] 此方法适用于包含基本类型的数组:undefined,null,boolean,string和number. (如果你有一个

前端知识点查缺补漏

# JavaScript基础 ## 变量和类型 1.JavaScript规定了几种语言类型(http://www.mamicode.com/info-detail-2347949.html)        在 JavaScript 规范中,共定义了七种数据类型,分为 “基本类型” 和 “引用类型” 两大类,如下所示: 基本类型:String.Number.Boolean.Symbol.Undefined.Null     引用类型:Object 2.JavaScript对象的底层数据结构是什么

索引的分类--B-Tree索引和Hash索引

索引是存储引擎用来快速查找记录的一种数据结构,按照实现的方式有不同的种类,想B-Tree索引,hash索引,空间数据索引和全文索引等.下面主要说一下B-Tree索引和Hash索引.人们在谈论索引的时候如果没有特别说明,一般指的是B-Tree索引.B-Tree索引是使用B-Tree数据结构来存储索引的.B-Tree通常意味着所有的值是按照顺序存储的.B-Tree树有如下几个特征:⑴树中每个结点至多有m 棵子树:⑵若根结点不是叶子结点,则至少有两棵子树:⑶除根结点之外的所有非终端结点至少有[m/2]

mysql_12_索引的分类_创建_删除

1 USE db_book; 2 -- 第四节:索引分类 3 -- 1.普通索引 4 -- 这类索引可以创建在任何数据类型中: 5 -- 2.唯一性索引 6 -- 使用UNIQUE参数可以设置,在创建唯一性索引时,限制该索引的值必须是唯一的; 7 -- 3.全文索引 8 -- 使用FULLTEXT参数可以设置,全文索引只能创建在CHAR,VARCHAR,TEXT类型的字段上; 9 -- 主要作用就是提高查询较大字符串类型的速度:只有MyISAM引擎支持该索引,Mysql默认引擎不支持. 10 -