8.1 Optimization Overview
8.1 Optimization Overview 8.1 Optimization Overview
8.2 Optimizing SQL Statements
8.3 Optimization and Indexes
8.4 Optimizing Database Structure
8.5 Optimizing for InnoDB Tables
8.6 Optimizing for MyISAM Tables
8.7 Optimizing for MEMORY Tables
8.8 Understanding the Query Execution Plan
8.9 Controlling the Query Optimizer
8.10 Buffering and Caching
8.11 Optimizing Locking Operations
8.12 Optimizing the MySQL Server
8.13 Measuring Performance (Benchmarking)
8.14 Examining Thread Information 本章节介绍如何优化MySQL 性能和提供例子,优化涉及配置,调优和性能测量, 在几个层次。这取决于你的工作角色(开发,DBA或者两者的结合), 你可以优化在单个SQL层面, 整个应用,或者一个单独的数据库服务器,或者多个网络数据库服务器。 有时候你可以主动和规划性能,当其他时间你可能处理一个配置或者代码执行在一个问题发生后, 优化CPU 和内存使用可以改善可扩展性,允许数据库处理更多负载没有缓慢的情况下 8.1 Optimization Overview 优化概述: 数据库性能 取决于数据库层面的几个因素,比如表,查询和配置设置。 那些软件构造引起CPU和I/O 操作在硬件层面,你必须最小化和尽可能的有效。 当你从事数据库性能,你通过学习高层面规则和准则用于软件一侧, 和维护性能使用墙上时间。当你变为一个专家,你了解很多关于内部发生的, 开始测量东西比如CPU 周期和I/O 操作。 典型的用户目标是得到更好的数据库性能 在现有的软件和硬件配置. 高级用户寻找机会提高MySQL 软件本身,或者开发它们自己的存储引擎和硬件应用来扩展MySQL 生态系统 数据库层面优化: 最重要的因素在让一个数据库应用快是它的基本设计: 1. 表结构正确吗?特别是,确定columns有正确的数据类型, 确保每个表有合适的列对于工作的类型?比如, 应用执行频繁更新经常是很多表的少量列, 当应用 分析大量的数据经常是几个表的很多列 是否有正确的索引让查询更有效 是否使用合适的存储引擎对于每个表,并利用每个存储引擎的优势和功能 特别的,你选择一个事务存储引擎比如InnoDB 或者一个非事务存储引擎 比如MyISAM 是非常重要的 对于性能和扩展。 注意; 在MySQL 5.5和更高的版本,InnoDB 是默认的存储引擎对于新的表。 实际上, InnoDB 性能优势意味着InnoDB 表可以比MyISAM表性能好,尤其对于繁忙的数据库 每个表 使用一个合适的行格式?这个选择也取决于表使用的存储引擎。特别的, 压缩表使用更少的磁盘和需要更少的io 来读和写。压缩是可用的对于所有类型的负载使用InnoDB, 和对于只读的MyISAM表。 应用程序使用一个合适的锁策略? 比如,通过允许共享访问,数据库操作可以并发运行, 请求独占访问当适当的 这样特定的操作可以得到优先级。 再次, 存储引擎的选择是重要的。 InnoDB 存储引擎处理很多锁问题不需要你参与,允许更好的并发在数据库和降低实验和优化你的代码 所有的内存区域用于正确的cache ?也就是说, 足够大来容纳你经常访问的数据, 但是不能太大 会是内存负载太大出现paging. 主要的内存区域是配置用于InnoDB buffer pool,MyISAM key cache,和其他Mysql 查询cache. 硬件层面优化: 任何数据库应用最后达到硬件限制 当数据库变的越来越繁忙。 一个DBA必须评估是否它是可能调整应用或者重新评估server来避免那些瓶颈, 或者 是否需要更多的硬件资源,系统瓶颈通常来自这些来源: 磁盘寻道,它消耗时间对于disk来找到一个数据的部分。 随着现代磁盘的发展, 平均时间用于这个是通常小于10毫秒,因此我们可以理论上 1秒钟做100次寻址。 这时间改善使用新的磁盘是很难优化的对于单个表。 优化寻址时间是分布数据到一个或者多个磁盘。 磁盘读取和写入, 当磁盘是在正确的位置,我们需要读或者写数据。在现代磁盘,一个磁盘至少10-20M/s吞吐量。 这是容易优化相比寻到 因为你可以读从多个磁盘并行读取 内存带宽,当处理器需要更多的数据来填满cpu cache, 主要的内存带宽成为一个瓶颈。 这是一个不常见的瓶颈 可移植性和性能:
8.1 Optimization Overview的更多相关文章
- Mysql Optimization Overview
The information below i get from http://dev.mysql.com/doc/refman/8.0/en/optimize-overview.html Optim ...
- 凸优化简介 Convex Optimization Overview
最近的看的一些内容好多涉及到凸优化,没时间系统看了,简单的了解一下,凸优化的两个基本元素分别是凸函数与凸包 凸集 凸集定义如下: 也就是说在凸集内任取两点,其连线上的所有点仍在凸集之内. 凸函数 凸函 ...
- 凸优化(Convex Optimization)浅析
本博客已经迁往http://www.kemaswill.com/, 博客园这边也会继续更新, 欢迎关注~ 在机器学习中, 很多情况下我们都需要求得一个 问题的全局最优值(global optimum) ...
- MySQL文档翻译(八)附英文原文---性能优化概览
优化概述 数据库性能表现依赖于数据库级别的几个因素,比如表,查询和配置设置.这些软件在硬件级别通过CPU和IO操作构筑结果,你需要尽可能的使用最少的资源达到最大的效果.当你专注于数据库的性能表现时,你 ...
- 【mysql 优化 1】优化概述
原文地址:Optimization Overview 数据库性能取决于几个数据库层面的因素,比如:表设计,查询语句,配置. 这些软件结构导致你必须在CPU和I/O 操作的硬件层面做到尽可能的最小化和高 ...
- 统计学习方法6—logistic回归和最大熵模型
目录 logistic回归和最大熵模型 1. logistic回归模型 1.1 logistic分布 1.2 二项logistic回归模型 1.3 模型参数估计 2. 最大熵模型 2.1 最大熵原理 ...
- (转载) AutoML 与轻量模型大列表
作者:guan-yuan 项目地址:awesome-AutoML-and-Lightweight-Models 博客地址:http://www.lib4dev.in/info/guan-yuan/aw ...
- (转)AutoML 与轻量模型大列表: awesome-AutoML-and-Lightweight-Models
Awesome-AutoML-and-Lightweight-Models 原文:http://bbs.cvmart.net/articles/414/zi-yuan-automl-yu-qing-l ...
- SQL optimizer -Query Optimizer Deep Dive
refer: http://sqlblog.com/blogs/paul_white/archive/2012/04/28/query-optimizer-deep-dive-part-1.aspx ...
随机推荐
- HDU-5532(LIS-nlogn)
思路: 解法一: 新的认识get+1,对于一个数组,可以通过记录他'<'和'>'来判断数组的升降序状态,这种方法只需要n的复杂度就可以解决问题,需要注意的一点是,每次删除一个结点在消失两个 ...
- linux下的java远程调试jpda+tomcat
项目放到linux服务器了,服务器的环境或者数据可能和我们本地不一样,这个时候我们可能需要远程的断点进行调试,来查看请求过程中的各个变量的值.这里我们的应用服务器用的tomcat5.5.17 这个时候 ...
- 广州Uber优步司机奖励政策(12月28日到1月3日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- Socket小结
TCP/IP 要想理解socket首先得熟悉一下TCP/IP协议族, TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间 ...
- Xcode开启gcc/g++
Apple announced Xcode 4.3 for OSX Lion and 4.4 for OSX Mountain Lion last week. The major difference ...
- facebook分享遇到的错误解决方法
*** Terminating app due to uncaught exception 'InvalidOperationException', reason: ''App ID not foun ...
- json对象转字符串与json字符串转对象
1.概述: 我们在编程时进场会遇到json对象转字符串,或者字符串转对象的情况. 2.解决办法: json.parse()方法是将json字符串转成json对象. json.stringfy()方法是 ...
- [原创作品] 对获取多层json值的封装
今天篇头不废话了,交流加群:164858883 在我们接收后端返回的json数据的时候,在数据缺失的时候,如果直接接收会导致致命错误的发生.可能有些同学会说通常都会有,不用判断直接获取也行.之前我也是 ...
- uva 10560 - Minimum Weight(数论)
题目连接:uva 10560 - Minimum Weight 题目大意:给出n,问说至少须要多少个不同重量的砝码才干称量1~n德重量,给出所选的砝码重量,而且给出k,表示有k个重量须要用上述所选的砝 ...
- CAEmitterLayer实现粒子效果
在iOS 5中,苹果引入了一个新的CALayer子类叫做CAEmitterLayer.CAEmitterLayer是一个高性能的粒子引擎,被用来创建实时例子动画如:烟雾,火,雨等等这些效果. CAEm ...