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

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

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

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

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

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

知识查差缺不漏贴:索引的分类相关推荐

  1. FPGA知识查漏补缺——为什么setup summary和hold suammay的data path延时不一致

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 FPGA知识查漏补缺--为什么setup summary和hold suammay的data path延时不一致 前言 问题描述 时序 ...

  2. matlab 基础知识查漏

    基础知识查漏 矩阵运算基本命令 Ai=A(i,:); Aj=A(:,j); orth(A);%将非奇异矩阵A正交化 A([i,j],:)=A([j,i],:);%将A的第i行与第j行互换 rref(A ...

  3. 无效字符 java_Java知识查漏补缺

    Java基础知识查漏补缺 单元测试中,Mock对象的存在破坏了面向对象中的封装 mock对象:也成为伪对象,在测试中的利用mock对象来代替真实对象,方便测试的进行. java的封装性:指的是将对象的 ...

  4. JavaScript 基础知识查漏补缺

    JavaScript 基础知识查漏补缺(持续更新) 数据类型 var bool = '4.3' > '11' console.log(bool) // 结果为true,二者都为字符串,字符串之间 ...

  5. Spring差缺补漏

    Spring差缺补漏 Spring4.0新特性 1:全面支持java1.8 2:空指针 @RequestMapping("/user") public User getUser(S ...

  6. C语言差缺补漏,补充一些容易遗忘忽视的知识点(一)

    C语言差缺补漏(一) 看看你有哪些没有注意到的点或者遗忘的知识点 1. 编译流程 编译经历过程 ↓   (选择linux下的编译器才能看到编译过程,例:g++) 编辑器:程序员用来编辑代码的程序 (记 ...

  7. MySQL中索引的分类和基本操作

    索引的作用:是用于快速定位实际数据位置的一种机制. 索引在mysql中,是独立于数据的一种特殊的数据结构. 一.索引的分类 普通索引:利用特定的关键字,标识数据记录的位置(磁盘上的位置,盘号,柱面,扇 ...

  8. 九、索引与执行计划、索引的分类

    索引与执行计划 索引入门 生活中的索引 MySql 中的索引 谈下 B+Tree 二分查找 二叉树(Binary Tree) 平衡二叉树(AVL-树) 平衡二叉树的遍历 平衡二叉树的旋转 B+树 B+ ...

  9. java类索引_java中索引的分类,图片详解

    java的学习是一个漫长而又循环往复不断上升的过程,今天我们再来看一下java索引的分类,并且通过详细的图片解析. 首先,java中的索引主要分为聚簇索引和非聚簇索引. 其中InnoDB主键使用的是聚 ...

最新文章

  1. 区块链将重新定义世界
  2. php new redis错误,解决PHP Redis扩展无法加载的问题(zend_new_interned_string in Unknown on line 0)...
  3. cmake重新编译matlab,ubuntu系统下cmake 编译matlab中mex文件
  4. 中台,都他妈被你们说糊涂了,文内才是正宗解释,别摸石头过河了,石头早就有了
  5. android x86一键安装,安卓
  6. Linux 中内核级加强型火墙的管理
  7. FastReport.NET 中使用二维码
  8. 计算机专业答辩模板,论文答辩模板-计算机专业.ppt
  9. Leetcode--5. 最长回文子串(java)
  10. android 检测网络ftp,Android端与Android端利用WIFI进行FTP通信
  11. 【每日算法Day 63】LeetCode 第 179 场周赛题解
  12. 黑客获取数据信息的目的和进攻手段及应对之策
  13. 【解决】瑞星杀毒软件无法卸载,rising进程无法关闭
  14. 生也有涯而知也无涯,以有涯应无涯,殆矣
  15. 张量(五):张量学习——BGCP
  16. 深度学习 GAN生成对抗网络-1010格式数据生成简单案例
  17. Windows资源管理器占用CPU过高
  18. 小白如何从零开始打造一台DIY脑控智能机器人
  19. javaweb之Html/Hss/JavaScript/BootStrap小结
  20. yolov5-5.0训练模型+瑞芯微rv1126上实现模型部署

热门文章

  1. 总结30个CSS3选择器(转载)
  2. 第四十九篇、跳转设置界面
  3. 谈谈我的跳槽感想,从日资企业到互联网的转变
  4. 遍历字典时用与不用iter的区别
  5. 解剖SQLSERVER 第八篇 OrcaMDF 现在支持多数据文件的数据库(译)
  6. ansys workbench 帮助文档在哪_中英对照读ANSYS帮助文档,是怎么玩的?
  7. 因为arc的命名规则而产生的一些错误
  8. Tiled编辑器不能打开.tmx文件的问题
  9. Python 网站应用从开发到部署
  10. 求一个截取字符的正则表达式