MySQL第12讲(索引、视图).ppt

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

startmysql@126.com 数 据 库 应 用 技 术 教学目标 索 引 视 图 任务 索引建立 视图建立 任务描述 项目小组为学生表添加了10万行测试数据,又在分数表上添加了100万行测试数据,XX再进入“成绩查询”模块,发现查询速度明显变慢,有时候还需要等待3min以上,才能显示成绩查询结果。项目经理责令整改,提高 “成绩查询”模块的速度,控制在30s之内。 任务 welcome to use these PowerPoint templates, New Content design, 10 years experience 任务分析 成绩查询涉及几个表:成绩表、课程表、学生表,这三张表要做连接查询。如果三张表全表浏览,需要花费大量的时间。要提高查询速度,最简洁、有效的方法是建立索引。数据库使用索引的方式与使用书的目录很相似:通过有哪些信誉好的足球投注网站索引找到特定的值,然后跟随指针到达包含该值的行。 任务实施 为xscj数据库创建若干索引和视图 索引 索引是数据库中用来提高查询性能的最常用工具 所有MYSQL列类型都可以被索引,对相关列使用索引是提高SELECT操作性能的最佳途径。 MYSQL提供多种索引类型供选择: 普通索引 唯一性索引 主键 全文索引 MYSQL中多数索引都以BTREE的形式保存。在使用以下操作符时,都会用到相关列上的索引: 、、=、=、、IN、BETWEEN LIKE’pattern’(pattern不能以通配符开始) 普通索引 这是最基本的索引类型,而且它没有唯一性之类的限制。 普通索引可以通过以下几种方式创建: 直接创建索引 语法:CREATE INDEX 索引名 ON 表名(列名[(length)]…); 修改表时添加索引 语法:ALTER TABLE 表名 ADD INDEX[索引名](列名[(length)]…); 创建表的时候指定索引 语法:CREATE TABLE 表名( […] , INDEX[索引名](列名[(length)]…); 如果要创建索引的列的类型是CHAR、VARCHAR类型:length可以小于字段实际长度;如果是BLOB和TEXT类型,必须指定length。 唯一性索引 这种索引和前面的“普通索引”基本相同,但有一个区别:索引列的所有值都只能出现一次,即必须唯一。 唯一性索引可以用以下几种方式创建: 创建索引 语法:CREATE UNIQUE INDEX 索引名 ON 表名(列名[(length)]…); 修改表时添加索引 语法:ALTER TABLE 表名 ADD UNIQUE INDEX[索引名](列名[(length)]…); 创建表的时候指定索引 语法:CREATE TABLE 表名( […], UNIQUE INDEX[索引的名字](列名[(length)]…); 主键索引 主键是一种特殊的唯一索引,一般在创建表的时候指定 语法:CREATE TABLE 表名( […], PRIMARY KEY(列)); 在MYSQL中,当你建立主键时,主键索引同时也已经建立起来了。不必重复设置。记注:一个表只能有一个主键,也即只有一个主键索引。 也可以通过修改表的方式加入主键索引: 语法:ALTER TABLE 表名 ADD PRIMARY KEY(列); 单列索引与多列索引 索引建立在表中的某一列上,称之为单列索引。 索引还可以建立在表的几个列的组合上,称之为多列索引。 CREATE INDEX name_jointime_address ON employees(name(10),join_time,address(10)); 多列索引可以提高有哪些信誉好的足球投注网站效率。还有一个优点,它通过称为最左前缀(Leftmost Prefixing)的概念体现出来。 创建了name、join_time、address列上的一个多列索引name_jointime_address后。当有哪些信誉好的足球投注网站条件是以下各种列的组合时,MYSQL将使用此索引: name,join_time,address name,join_time name 删除、禁用索引 语法: DROP INDEX 索引名 ON 表名; 对于MyISAM表在做数据大批量导入时,它会边插入数据边建索引。所以为了提高执行效率,应该先禁用索引,在

文档评论(0)

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

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

1亿VIP精品文档

相关文档