网站大量收购闲置独家精品文档,联系QQ:2885784924

MySQL数据库 课件 4.2 索引的开发.pptx

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

主讲教师:姜云桥任务4.2索引的开发子项目4数据库高级应用开发

任务背景由于数据库在执行一条SQL语句的时候,默认的方式是根据搜索条件进行全表扫描,遇到匹配条件的就加入搜索结果集合。在进行涉及多个表连接,包括了许多搜索条件(例如大小比较、Like匹配等),而且表数据量特别大的查询时,在没有索引的情况下,MySQL需要执行的扫描行数会很大,速度也会很慢。

任务目标1.能创建索引2.能管理索引知识目标1.了解索引2.了解索引的分类3.理解索引的设计原则4.掌握创建索引的方法5.掌握管理索引的方法能力目标

任务要求本任务将从认识索引、索引的分类以及索引的设计原则等方面着手,介绍创建和管理索引的方法。特别要注意的是,索引并不是越多越好,要正确认识索引的重要性和设计原则,创建合适的索引。

任务必备知识想一想索引是什么?

任务必备知识4.2.1索引的概念索引是一种特殊的数据库结构,可以用来快速查询数据库表中的记录。对于索引的理解可以直接类比查字典。当我们需要查找某个汉字的意思时,我们并不是从头挨着找到汉字,而是通过拼音索引快速锁定汉字所在的页码,进而找到对应汉字的解释。如果我们并不知道汉字的读音,可以通过部首笔画索引快速锁定汉字的页码,从而找到汉字的读音和解释。

任务必备知识4.2.1索引的概念日常使用的索引主要包括如下几种:普通索引(index):索引的关键字是index,这是最基本的索引,它没有任何限制。唯一性索引(unique):关键字是unique。与普通索引类似,但是unique索引列的值必须唯一,允许有空值。如果是组合索引,则列值的组合必须唯一。在一个表上可以创建多个unique索引。主键索引(primarykey):它是一种特殊的唯一索引,不允许有空值。一般是在建表的时候同时创建主键索引。也可通过修改表的方法增加主键,但一个表只能有一个主键索引。

任务必备知识想一想创建索引有几种方式,分别是?

任务必备知识创建索引有3种方式,分别是:1.创建表的时候创建索引2.在已经存在的表上创建索引3.使用ALTERTABLE语句来创建索引4.2.2索引的建立

任务必备知识一、创建表时创建【任务4.2.1】创建表student2,s_no为主键索引,s_name为唯一性索引,并在s_address列上前6位字符创建索引创建表的时候可以直接创建索引,这种方式最简单、方便。4.2.2索引的建立

任务必备知识4.2.2索引的建立mysqlcreatetablestudent2-(-s_nochar(6)primarykeycomment学号,-s_namevarchar(20)uniquecomment姓名,-sexchar(2)default男comment性别,-birthdatecomment出生日期,-d_nochar(6)comment所在系部,-addressvarchar(20)comment家庭地址,-phonevarchar(20)comment联系电话,-indexaddress_index(address(6))-);

任务必备知识二、用createindex语句创建1.创建普通索引如果表已建好,可以使用createindex语句建立索引。createindexindex_nameontbl_name(col_name(length)[asc|desc],...)4.2.2索引的建立【任务4.2.2】student的d_no字段经常作为查询条件,建立普通索引mysqlcreateindexd_no_indexonstudent(d_no);

任务必备知识2.创建唯一性索引4.2.2索引的建立【任务4.2.3】在course表的c_name列上建立一个唯一性索引c_name_indexmysqlcreateuniqueindexc_name_indexoncourse(c_name);像课程表的课程名,部门表的部门名,商品表的商品名之类的字段,一般情况下是,可建立一个唯一性索引。

任务必备知识3.创建多列索引4.2.2索引的建立【任务4.2.4】在score表的s_no和c_no列上建立一个复合索引score_indexmysqlcreateindexscore_indexonscore(s_no,c_no);可以在一个索引的定义中包含多个列,中间用逗号隔开,但是它们

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档