MySQL的索引与数据完整性约束索引的分类ppt课件.ppt

MySQL的索引与数据完整性约束索引的分类ppt课件.ppt

ID:59416178

大小:376.50 KB

页数:33页

时间:2020-09-19

MySQL的索引与数据完整性约束索引的分类ppt课件.ppt_第1页
MySQL的索引与数据完整性约束索引的分类ppt课件.ppt_第2页
MySQL的索引与数据完整性约束索引的分类ppt课件.ppt_第3页
MySQL的索引与数据完整性约束索引的分类ppt课件.ppt_第4页
MySQL的索引与数据完整性约束索引的分类ppt课件.ppt_第5页
资源描述:

《MySQL的索引与数据完整性约束索引的分类ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章索引与数据完整性约束5.1索引5.2数据完整性约束5.1索引5.1.1索引的分类目前大部分MySQL索引都是以B-树(BTREE)方式存储的。BTREE方式构建为包含了多个节点的一棵树。顶部的节点构成了索引的开始点,叫做根。每个节点中含有索引列的几个值,节点中的每个值又都指向另一个节点或者指向表中的一行,一个节点中的值必须是有序排列的。指向一行的节点叫做叶子页。叶子页本身也是相互连接的,一个叶子页有一个指针指向下一组。这样,表中的每一行都会在索引中有一个对应值。查询的时候就可以根据索引值直接找到所在的行。索引中的节点是存储在文件中的,所以索引也是要占用物理空间的,MySQL将一个表的索

2、引都保存在同一个索引文件中。如果更新表中的一个值或者向表中添加或删除一行,MySQL会自动地更新索引,因此索引树总是和表的内容保持一致。按BTREE形式存储的主要索引类型介绍如下。1.普通索引(INDEX)这是最基本的索引类型,它没有唯一性之类的限制。创建普通索引的关键字是INDEX。2.唯一性索引(UNIQUE)这种索引和前面的普通索引基本相同,但有一个区别:索引列的所有值都只能出现一次,即必须是唯一的。创建唯一性索引的关键字是UNIQUE。5.1.1索引的分类3.主键(PRIMARYKEY)主键是一种唯一性索引,它必须指定为“PRIMARYKEY”。主键一般在创建表的时候指定,也可以通过

3、修改表的方式加入主键。但是每个表只能有一个主键。4.全文索引(FULLTEXT)MySQL支持全文检索和全文索引。在MySQL中,全文索引的索引类型为FULLTEXT。全文索引只能在VARCHAR或TEXT类型的列上创建,并且只能在MyISAM表中创建。它可以通过CREATETABLE命令创建,也可以通过ALTERTABLE或CREATEINDEX命令创建。对于大规模的数据集,通过ALTERTABLE(或CREATEINDEX)命令创建全文索引要比把记录插入带有全文索引的空表更快。另外,当表类型为MEMORY或HEAP时,除了BTREE索引,MySQL还支持哈希索引(HASH)。使用哈希索引

4、,不需要建立树结构,但是所有的值都保存在一个列表中,这个列表指向相关页和行。当根据一个值获取一个特定的行时,哈希索引非常快。5.1.2创建索引1.使用CREATEINDEX语句使用CREATEINDEX语句可以在一个已有表上创建索引,一个表可以创建多个索引。语法格式:CREATE[UNIQUE

5、FULLTEXT

6、SPATIAL]INDEXindex_name[USINGindex_type]ONtbl_name(index_col_name,...)其中,index_col_name格式为:col_name[(length)][ASC

7、DESC]说明:●index_name:索引的名称,索引

8、在一个表中名称必须是唯一的。●USINGindex_type:部分存储引擎允许在创建索引时指定索引的类型。index_type为存储引擎支持的索引类型的名称,MySQL支持的索引类型有BTREE和HASH。如果不指定USING子句,MySQL自动创建一个BTREE索引。●index_col_name:col_name表示创建索引的列名。length表示使用列的前length个字符创建索引。使用列的一部分创建索引可以使索引文件大大减小,从而节省磁盘空间。在某些情况下,只能对列的前缀进行索引。例如,索引列的长度有一个最大上限,因此,如果索引列的长度超过了这个上限,那么就可能需要利用前缀进行索引。

9、BLOB或TEXT列必须用前缀索引。前缀最长为255字节,但对于MyISAM和InnoDB表,前缀最长为1000字节。5.1.2创建索引另外还可以规定索引按升序(ASC)还是降序(DESC)排列,默认为ASC。如果一条SELECT语句中的某列按照降序排列,那么在该列上定义一个降序索引可以加快处理速度。●UNIQUE

10、FULLTEXT

11、SPATIAL:UNIQUE表示创建的是唯一性索引;FULLTEXT表示创建全文索引;SPATIAL表示为空间索引,可以用来索引几何数据类型的列。本书不讨论SPATIAL索引。可以看出,CREATEINDEX语句并不能创建主键。【例5.1】根据XS表的学号列上的

12、前5个字符建立一个升序索引XH_XS。CREATEINDEXXH_XSONXS(学号(5)ASC);可以在一个索引的定义中包含多个列,中间用逗号隔开,但是它们要属于同一个表。这样的索引叫做复合索引。【例5.2】在XS_KC表的学号列和课程号列上建立一个复合索引XSKC_IN。CREATEINDEXXSKC_INONXS_KC(学号,课程号);5.1.2创建索引2.使用ALTERTABLE语句第2章介绍了如何使

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。