- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
mysql索引mysql索mysql索引mysql索引
第7章 索引 索引是一种特殊的数据库结构,可以用来快速查询数据库表中的特定记录。索引是提高数据库性能的重要方式。MySQL中,所有的数据类型都可以被索引。MySQL的索引包括普通索引、惟一性索引、全文索引、单列索引、多列索引和空间索引等。 索引的含义和特点 索引的分类 如何设计索引 如何创建索引 如何删除索引 7.1 索引简介 索引由数据库表中一列或多列组合而成,其作用是提高对表中数据的查询速度。本节将详细讲解索引的含义、作用、分类和设计索引的原则。 7.1.1 索引的含义和特点 索引是创建在表上的,是对数据库表中一列或多列的值进行排序的一种结构。索引可以提高查询的速度。通过索引,查询数据时可以不必读完记录的所有信息,而只是查询索引列。 本小节将详细讲解索引的含义、作用、优缺点。索引有起明显的优势,也有其不可避免的缺点。 索引的优点 索引的缺点 索引的优点是可以提高检索数据的速度,这是创建索引的最主要的原因;对于有依赖关系的子表和父表之间的联合查询时,可以提高查询速度;使用分组和排序子句进行数据查询时,同样可以显著节省查询中分组和排序的时间。 索引的缺点是创建和维护索引需要耗费时间,耗费时间的数量随着数据量的增加而增加;索引需要占用物理空间,每一个索引要占一定的物理空间;增加、删除和修改数据时,要动态的维护索引,造成数据的维护速度降低了。 7.1.2 索引的分类 MySQL的索引包括普通索引、惟一性索引、全文索引、单列索引、多列索引和空间索引等。本小节将详细讲解这几种索引的含义和特点。 1.普通索引 2.惟一性索引 3.全文索引 4.单列索引 5.多列索引 6.空间索引 7.1.3 索引的设计原则 为了使索引的使用效率更高,在创建索引的时候必须考虑在哪些字段上创建索引和创建什么类型的索引。本小节将向读者介绍一些索引的设计原则。 1.选择惟一性索引 2.为经常需要排序、分组和联合操作的字段建立索引 3.为常作为查询条件的字段建立索引 4.限制索引的数目 5.尽量使用数据量少的索引 6.尽量使用前缀来索引 7.删除不再使用或者很少使用的索引 7.2 创建索引 创建索引是指在某个表的一列或多列上建立一个索引,以便提高对表的访问速度。创建索引有三种方式,这三种方式分别是创建表的时候创建索引、在已经存在的表上创建索引和使用ALTER TABLE语句来创建索引。本节将详细讲解这三种创建索引的方法。 7.2.1 创建表的时候创建索引 创建表的时候可以直接创建索引,这种方式最简单、方便。其基本形式如下: CREATE TABLE 表名 ( 属性名 数据类型 [完整性约束条件], 属性名 数据类型 [完整性约束条件], … 属性名 数据类型 [UNIQUE | FULLTEXT | SPATIAL] INDEX | KEY [别名](属性名1 [(长度)] [ASC | DESC]) ); 1 普通索引 Create table index1( Id int, Name varchar(20), Sex boolean, Index(id) ); Show create table index1 \G Explain select * from index1 where id=1 \G 2 创建唯一性索引 Create table index2( Id int unique, Name varchar(20), Unique index index2_id(id asc) ); 3 创建全文索引 只能创建在char,varchar或text类型的字段上,而且,现在只有MyISAM存储引擎支持全文索引。 Create table index3( Id int, Info varchar(20), Fulltext index index3_info(info) )engine=myisam; 4 创建单列索引 Create table index4( Id int, Subject varchar(30), Index index4_st(subject(10)) ); 5 创建多列索引 Create table index5( Id int, Name varchar(20), Sex char(4), Index index5_ns(name,sex) ); 使用多列索引时一定要特别注意,只有使用了索引中的第一个字段时才会触发索引。如果没有使用索引中的第一个字段,那么这个多列索引就不会起作用。 6 创建空间索引 Create table index6( Id int, Space geometry not null, Spatial index index6_sp(space) )engine=myisam; 创建空间
您可能关注的文档
- module1 grammr外研社必修一高中英语module1 grammar外研社必修一高中英语module1 grammar外研社必修一高中英语module1 grammar外研社必修一高中英语.ppt
- module_6_the_nternet_and_telecommunications教案module_6_the_internet_and_telecommunications教案module_6_the_internet_and_telecommunications教案module_6_the_internet_and_telecommunications教案.doc
- morning call叫程序morning call叫醒程序morning call叫醒程序morning call叫醒程序.ppt
- mpa研究生考试语文写作论有效性分析讲义mpa研究生考试语文写作论证有效性分析讲义mpa研究生考试语文写作论证有效性分析讲义mpa研究生考试语文写作论证有效性分析讲义.doc
- mpeg_2(psi&simpeg_2(psi&si)mpeg_2(psi&si)mpeg_2(psi&si).ppt
- mon段落翻译.ppt
- module1 cultue corner外研社必修一高中英语module1 culture corner外研社必修一高中英语module1 culture corner外研社必修一高中英语module1 culture corner外研社必修一高中英语.ppt
- mr.鲍的课程设计mr.鲍课程设计的课程设计.doc
- mpls ldp 基本配置pls ldp 基本配置mpls ldp 基本配置mpls ldp 基本配置.doc
- mri基本原理.ppt
文档评论(0)