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

数据库高级应用技术08-(数据库调优)概论.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
高等职业技术院校教材 《数据库高级应用技术》 主编:温立辉 wenlihui2004@163.com 数据库调优 本单元教学目标 了解数据库调优的重要意义 了解数据库调优的技术、方法、原理 掌握数据库分区、分表、建索引技术 能够编写出高效的SQL语句 分区 定义: 将一个大表的数据分段划分在多个位置存放 可以是同一块磁盘也可以在不同的机器 分区后,表面上还是一张表,但数据散列到多个位置了。 分区类型 MySQL支持RANGE,LIST,HASH,KEY分区类型, 其中以RANGE最为常用 Range(范围) 这种模式允许将数据划分不同范围。 例如可以将一个表通过年份划分成若干个分区。 Hash(哈希) 这种模式允许通过对表的一个或多个列的Hash Key进行计算, 最后通过这个Hash码不同数值对应的数据区域进行分区。 Key(键值) Hash模式的一种延伸,这里的Hash Key是MySQL系统产生的。 List(预定义列表) 这种模式允许系统通过预定义的列表的值来对数据进行分割。 查看是版本否支持分区 show variables like %partition%‘ 如果变量的值是YES,那么支持分区 如果变量值是空白,则不支持分区 分区脚本 -- 创建range分区表 DROP TABLE IF EXISTS `user`; CREATE TABLE IF NOT EXISTS `user` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 用户ID, `name` varchar(50) NOT NULL DEFAULT COMMENT 名称, `sex` int(1) NOT NULL DEFAULT 0 COMMENT 0为男,1为女, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 PARTITION BY RANGE (id) ( PARTITION p0 VALUES LESS THAN (3), PARTITION p1 VALUES LESS THAN (6), PARTITION p2 VALUES LESS THAN (9), PARTITION p3 VALUES LESS THAN (12), PARTITION p4 VALUES LESS THAN MAXVALUE ); -- 插入数据 INSERT INTO `user` (`name` ,`sex`)VALUES (tank, 0) ,(zhang,1),(ying,1),(zhang,1),(ying,0),(test1,1),(tank2,1) ,(tank1,1),(test2,1),(test3,1),(test4,1),(test5,1),(tank3,1) ,(tank4,1),(tank5,1),(tank6,1),(tank7,1),(tank8,1),(tank9,1) ,(tank10,1),(tank11,1),(tank12,1),(tank13,1),(tank21,1),(tank42,1); 分区脚本解释 PARTITION BY RANGE (id) 对表中的id字段以RANGE方式进行分区操作 分区的字段必须是表中主键(如果表中有主键) PARTITION p0 VALUES LESS THAN (3) 分区字段的值 3 时,记录将存放在p0分区 PARTITION p1 VALUES LESS THAN (6) 3 = 分区字段的值 6 时,记录将存放在p1分区 数据表的分区信息 可以在information_schema库的PARTITIONS表中检索到 如可检索到刚刚创建的User表分区信息 删除表分区 删除表分区语法: ALTER TABLE + 表名 + DROP PARTITION + 分区名 下面语句删除user表的P4分区 ALTER TABLE user DROP PARTITION P4 删除表分区时,分区上的数据会被删除 对已存在的表进行分区 操作的语法: ALTER TABLE + 表名 + 分区语句 myorder.sql脚本 USE test; DROP TABLE IF EXISTS `test`.`myorder`; CREATE TABLE `test`.`myorder` ( `id` int(10) unsigned NOT NULL, `goods_id` int(10) unsigned NOT NULL, `price` f

文档评论(0)

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

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

1亿VIP精品文档

相关文档