文档详情

MySQL数据库应用与管理 第3版 第4章 索引的创建和使用.pptx

发布:2024-05-16约7.24千字共68页下载文档
文本预览下载声明

第4章索引的创建和使用4.1索引概述

本节内容1.使用索引提高查询效率的原理2.索引的优点3.索引的缺点4.引用索引的原则

索引概述索引是一种与数据表相关的类似于目录的一种数据结构,MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。索引也类似一张表,该表保存了主键与索引字段,并指向实体表的记录。索引也可以分为单列索引和组合索引,单列索引表示一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引;组合索引表示一个索引包含多个列。

索引概述索引包含由列生成的键值+数据页地址的指针组成的。索引的键值是排序的,排序的数据可以利用各种高效的查找算法(例如,折半查找等)。1.使用索引提高查询效率的原理

索引概述提高查询速度。提高表与表之间连接的效率。唯一性索引还可以保证数据记录的唯一性。2.索引的优点

索引概述虽然索引大大提高了查询速度,但却会降低更新表的速度,因为在对数据表进行INSERT、UPDATE、DELETE的操作时,MySQL不仅要保存数据,还要保存一下索引文件。因此,索引并不是创建的越多越好。3.索引的缺点

索引概述科学地设计索引,在提高查询效率的同时,应尽量减少索引带来的副作用。考虑设置索引的情况如下:经常检索的列(在WHERE子句中使用的列)。主键列、外键列(事实上,主键约束列、唯一性约束列会自动创建索引)。经常用于表间连接的列。4.引用索引的原则

索引概述考虑不设置索引的情况如下:检索中几乎不涉及到的列。重复值太多的列。数据类型为text、blob的列。行数极少的表没必要创建索引。插入、更新效率比查询效率更重要的情况。4.引用索引的原则

索引的创建和使用4.2创建索引

本节内容1.使用Navicat对话方式创建索引2.在CREATETABLE语句中创建索引3.在ALTERTABLE语句中创建索引4.使用CREATEINDEX语句创建索引5.使用SHOWINDEX语句查看索引

创建索引以在学生表(student)的sNo字段上创建唯一性索引、sName字段上创建普通索引为例,操作步骤如下:在Navicat控制台中,打开表结构设计窗口。1.使用Navicat对话方式创建索引

创建索引点击“索引”栏切换到索引页面。1.使用Navicat对话方式创建索引

创建索引可以使用CREATETABLE语句在创建数据表的同时创建索引,其语法格式如下:CREATETABLE表名( 字段名1[,……n]|索引项)其中索引项的语法格式为: PRIMARYKEY[索引名](字段名1[ASC|DESC][,……n])| UNIQUE[INDEX][索引名](字段名1[ASC|DESC][,……n])| INDEX|KEY[索引名](字段名1[ASC|DESC][,……n])| FULLTEXT[INDEX][索引名](字段名1[ASC|DESC][,……n])2.在CREATETABLE语句中创建索引

创建索引说明:PRIMARYKEY:主键索引。UNIQUE:唯一性索引。INDEX|KEY:普通索引,KEY通常是INDEX的同义词,二选一即可。FULLTEXT:全文索引。2.使用CREATETABLE语句创建数据表

操作案例知识点概述示例4-1运行结果如下:创建学生表(student),在id字段上创建主键索引、在sNo字段上创建唯一性索引、在sName字段上创建普通索引。

操作案例知识点概述示例4-2运行结果如下:创建课程表(course),在id字段上创建主键索引。

操作案例知识点概述示例4-3运行结果如下:创建成绩表(score),在id字段上创建主键索引。

创建索引如果数据表已经存在,可以使用ALTERTABLE语句创建索引,其语法格式如下: ALTERTABLE表名 ADD索引项3.在ALTERTABLE语句中创建索引说明:语法中除了多一个ADD关键词,其他与在CREATETABLE语句中创建索引类似。

操作案例知识点概述示例4-4运行结果如下:修改课程表(course),在cNo字段上创建唯一性索引、在cName字段上创建普通索引。

创建索引创建索引的语句使用CREATEINDEX,其语法格式如下: CREATE[UNIQUE]|[FULLTEXT]INDEX索引名 ON表名(字段名1[ASC|DESC][,……n])4.使用CREATEINDEX

显示全部
相似文档