数据库-性能优化篇-1.docx

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MYSQL-性能优化篇 为什么要进行数据库优化? 避免网站页面出现访问错误 由于数据库连接timeout产生页面5xx错误 由于慢查询造成页面无法加载 由于阻塞造成数据无法提交 增加数据库的稳定性 很多数据库问题都是由于低效的查询引起的 优化用户体验 流畅页面的访问速度 良好的网站功能体验 2、mysql数据库优化 可以从哪几个方面进行数据库的优化?如下图所示: SQL及索引优化 根据需求写出良好的SQL,并创建有效的索引,实现某一种需求可以多种写法,这时候我们就要选择一种效率最高的写法。这个时候就要了解sql优化 数据库表结构优化 根据数据库的范式,设计表结构,表结构设计的好直接关系到写SQL语句。 系统配置优化 大多数运行在Linux机器上,如tcp连接数的限制、打开文件数的限制、安全性的限制,因此我们要对这些配置进行相应的优化。 硬件配置优化 选择适合数据库服务的cpu,更快的IO,更高的内存;cpu并不是越多越好,某些数据库版本有最大的限制,IO操作并不是减少阻塞。 注:通过上图可以看出,该金字塔中,优化的成本从下而上逐渐增高,而优化的效果会逐渐降低。 3、SQL及索引优化 1、mysql安装与卸载(linux在线安装与卸载) 2、数据库版本选择 1、查看数据库的版本 select @@version; 2、准备数据 网址:/doc/sakila/en/sakila-installation.html sakila-db.zip压缩包所包含的文件如下解释 加载数据 步骤如下图所示 3、表结构关系 注:该表结构关系是用工具生成的。 如何发现有问题的SQL MySQL慢查日志的开启方式和存储格式 1、检查慢查日志是否开启: show variables like 'slow_query_log' show variables like 'slow_query_log' //查看是否开启慢查询日志 set global slow_query_log_file=' /usr/share/mysql/sql_log/mysql-slow.log' //慢查询日志的位置 set global log_queries_not_using_indexes=on; //开启慢查询日志 set global long_query_time=1; //大于1秒钟的数据记录到慢日志中,如果设置为默认0,则会有大量的信息存储在磁盘中,磁盘很容易满掉 2、查看所有日志的变量信息 show variables like '%log%' mysql> show variables like '%log%'; +++ | Variable_name | Value | +++ | back_log | 80 | | binlog_cache_size | 32768 | | binlog_checksum | CRC32 | | binlog_direct_non_transactional_updates | OFF | | binlog_error_action | IGNORE_ERROR | | binlog_format | STATEMENT | | binlog_gtid_simple_recovery | OFF | | binlog_max_flush_queue_time | 0 | | binlog_order_commits | ON | | binlog_row_image | FULL

您可能关注的文档

文档评论(0)

zhengqang-wu + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档