MySQ概述及优化.pptVIP

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
应用程序及架构优化 垂直(水平)切分服务器/数据库、表 开启MySQL复制,实现读、写分离 在复制的基础上,增加负载均衡 采用集群(Cluster)+复制(MySQL 6.0+) 经常更新的表,可以将其分离成父表及子表(内存表) 用统计表保存定时统计结果,而不是在大表上直接统计 编写存储过程或函数来代替大量的外部应用程序交互 设计合理的数据表结构:适当的数据冗余 对数据表建立合适有效的数据库索引 数据查询:编写简洁高效的SQL语句 应用优化 应用优化方式 应用优化-续 确保索引合理利用,尽量使用复合索引 适当加大查询缓存(query cache),尽量减少交互次数 尽量使用固定格式的SQL语句,查询语句中少用运算或函数 缩短每个事务 使用适当的字段类型;适当的长度,有需要的时候再扩充 分解复杂查询为多个小查询 字符型字段采用前缀索引 应用优化 表结构设计原则 选择合适的数据类型:如果能够定长尽量定长 不要使用无法加索引的类型作为关键字段,比如 text类型 为了避免联表查询,有时候可以适当的数据冗余,比如 邮箱、姓名这些不容易更改的数据 选择合适的存储引擎,有时候 MyISAM 适合,有时候 InnoDB适合 为保证查询性能,最好每个表都建立有 auto_increment 字段, 建立合适的数据库索引 最好给每个字段都设定 default 值 应用优化 索引建立原则 一般针对数据分散的关键字进行建立索引,比如ID、QQ, 像性别、状态值等等建立索引没有意义 尽量使用短索引,一般对int、char/varchar、date/time 等 类型的字段建立索引 需要的时候建立联合索引,但是要注意查询SQL语句的编写 谨慎建立 unique 类型的索引(唯一索引) 一般建议每条记录最好有一个能快速定位的独一无二的 唯一标示(索引) 不要过度索引,单表建立的索引不要超过5个,否则更新索 引将很耗时 编写高效的SQL 能够快速缩小结果集的 WHERE 条件写在前面,如果有恒量条件, 也尽量放在前面 尽量避免使用 GROUP BY、DISTINCT 、OR、IN 等语句的使用, 避免使用联表查询和子查询,因为将使执行效率大大下降 能够使用索引的字段尽量进行有效的合理排列,如果使用了 联合索引,请注意提取字段的前后顺序 如果在SQL里使用了MySQL部分自带函数,索引将失效,同时将无法 使用 MySQL 的 Query Cache,比如 LEFT(), SUBSTR(), TO_DAYS() DATE_FORMAT(), 等,如果使用了 OR 或 IN,索引也将失效 使用 Explain 语句来帮助改进我们的SQL语句 MySQL书籍/网站分享 《MySQL核心技术手册(第二版)》 《高性能MySQL(第二版)》 MySQL官方手册:/doc/refman/5.1/en/ MySQL Performance Blog:/ 《MySQL核心技术手册》简介 基本内容 《MySQL核心技术手册》这本书,该书在内容编排上首先从MySQL的历史讲起,介绍了MySQL的价值、使用许可协议及邮件列表和相关参考书籍,还介绍了MySQL在不同操作系统上地安装、配置以及测试方法,如何创建数据库,以及如何操纵表中的数据。紧接着介绍了MySQL的各种语句和函数,最后介绍了如何使用C、Perl和PHP语言创建应用程序。本书是为MySQL用户、数据库管理员和开发人员准备的一本综合性的参考书。它包含了MySQL(包括MySQL5.0和5.1版本的详尽信息)。 目标 本书的目标是,帮助广大读者在自己的操作系统平台上学习如何最好的配置和使用MySQL以及进行程序开发。无论读者是MySQL的新手,还是有着多年数据库管理经验的数据库管理员,本书都是一本及有价值的参考书,相信本书必将会成为读者案头的实用的技术参考手册。 结束 作者邮箱: hjli@ * 注意:有些选项是分配给每个线程的,不能将其设置得太大。Innodb_ log_buffer_ size不宜设置过大,如果事务量相对较大,则可以考虑设置得稍微大些。mysql自身的query cache效率一般,可以采用memcached来补充。 MySQL概述及优化简介 2009-12-05 演讲人:张秀程 MySQL概述 MySQL优化 《MySQL核心技术手册》简介 目录索引 MySQL概述 什么是MySQL   MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档