- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第10章索引
本章主要内容索引简介创建索引123主要内容查看索引4删除索引
10.1索引简介
10.1.1索引的概念如何在字典中查找指定偏旁的汉字?如何在一本书中查找某内容?在数据库中也可以建立类似目录的数据库对象,实现数据的快速查询,这就是索引。索引是将表中的一个或者多个字段的值按照特定的结构进行排序,然后存储。索引也是mysql的一个数据库对象,是查询优化的最主要方式,建立索引的目的就是加快数据库检索的速度。
name指针李华黄俊李明刘涛王琳张小燕吴昊snoname2010王琳2011张小燕2031吴昊2032黄俊2014李明2015李华2017刘涛数据表索引
10.1.2为什么使用索引那使用索引到底有什么好处呢?如果没有索引,在查找某条记录时,MySQL必须从表的第一条记录开始,然后通读整个表直到找到相关的记录。如果表越大,那么查找记录所耗费的时间就越多。如果有索引,那么MySQL可以快速定位目标记录所在的位置,而不必去浏览表中的每一条记录,效率远远超过没有索引时的搜索效率。索引有自己专门的存储空间,与表独立存放。
10.1索引简介
10.1.3索引的分类1.普通索引普通索引是最基本的索引,它没有任何限制。创建索引的字段可以是任意数据类型,字段的值可以为空,也可以重复。比如说,创建索引的字段为员工的姓名,但是姓名有重名的可能,所以同一个姓名在同一个“员工个人资料”数据表里可能出现两次或更多次。创建普通索引时,使用的关键字是index或key。
10.1索引简介
10.1.3索引的分类2.唯一索引如果能确定某个字段的值唯一,那么在为这个字段创建索引的时候就可以使用关键字UNIQUE把它定义为一个唯一索引。创建唯一索引的好处:简化了MySQL对索引的管理工作,唯一索引也因此而变得更有效率;MySQL会在有新记录插入数据表时,自动检查新记录中该字段的值是否已经在某个记录的该字段中出现过了,如果已经出现,MySQL将拒绝插入这条新记录。也就是说,唯一索引可以保证数据记录的唯一性。与普通索引的区别:索引列值不能重复,但可以是空值,创建的关键字是unique。
10.1索引简介
10.1.3索引的分类3.主键索引主键索引是为主键字段设置的索引,是一种特殊的唯一索引。主键索引与唯一索引的区别是在于:前者在定义时使用的关键字是PRIMARYKEY,而后者使的是UNIQUE;前者定义索引的字段值不允许有空值,而后者允许。每个表只能有一个主键。
10.1索引简介
10.1.3索引的分类4.聚簇索引聚簇索引的索引顺序就是数据存储的物理存储顺序。一个表只能有一个聚簇索引。目前只有InnoDB和solidDB存储引擎支持聚簇检索。
10.1索引简介
10.1.3索引的分类5.全文索引全文索引适用于在一大串文本中进行查找,并且创建该类型索引的字段的数据类型必须是VARCHAR或者TEXT。在MySQL5.7之前,全文索引只支持英文检索,因为它是使用空格来作为分词的分隔符,对于中文而言,使用空格是不合适的;从MySQL5.7开始,内置了支持中文分词的ngram全文检索插件,并且InnoDB和MyISAM存储引擎均支持全文检索。
10.1索引简介
10.1.3索引的分类6.单列索引与组合索引在实际应用中,索引可以建立在单一列上,称为单列索引。也可以建立在多个列上,称为组合索引。单列索引就是一个索引只包含原表中的一列,一个表可以建立多个单列索引。组合索引指在多个字段上创建的索引,这种索引只有在查询条件中使用了创建索引时的第一个字段,该索引才会被触发,这是因为使用组合索引时遵循“最左前缀”的原因。例如:当索引字段为(id,name)时,只有查询条件中使用了id字段,该索引才会被使用;如果查询条件中只有name字段是不会使用该索引的。
10.2查看数据表上所建立的索引在mysql中,使用showindex语句查看数据表中是否建立了索引。Show{index|indexs|keys}{from|in}tb_name[{from|in}db_name]功能:显示出表名为tb_name的表上所有定义的索引名及索引类型。实操:查看student1表的索引showindexfromstudent1;
10.3创建索引(1)自动创建索引(2)手动创建索引当在表中定义一个PRIMARYKEY或者UN
您可能关注的文档
- 跨境电商英语实务 课件全套 林逸 项目1--8 走近跨境电商--- 做好售后服务.pptx
- 跨境电商英语实务 课件 林逸 项目5--8 通关质检-- 做好售后服务.pptx
- 跨境电商英语实务 课件 林逸 项目1--4 走近跨境电商--- 寻找物流商.pptx
- 《数据库原理及MySQL应用(微课版)》课件 第1章 认识数据库系统.pptx
- 《数据库原理及MySQL应用(微课版)》课件 第2章关系模型及关系运算.pptx
- 《数据库原理及MySQL应用(微课版)》课件 第3章 关系数据库规范化理论.pptx
- 《数据库原理及MySQL应用(微课版)》课件 第4章数据库设计.pptx
- 《数据库原理及MySQL应用(微课版)》课件 第5章标准的结构化查询语言SQL.pptx
- 《数据库原理及MySQL应用(微课版)》课件 第6章 MySQL的安装与配置.pptx
- 《数据库原理及MySQL应用(微课版)》课件 第7章数据定义.pptx
原创力文档


文档评论(0)