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的更多相关文章

  1. Mysql Optimization Overview

    The information below i get from http://dev.mysql.com/doc/refman/8.0/en/optimize-overview.html Optim ...

  2. 凸优化简介 Convex Optimization Overview

    最近的看的一些内容好多涉及到凸优化,没时间系统看了,简单的了解一下,凸优化的两个基本元素分别是凸函数与凸包 凸集 凸集定义如下: 也就是说在凸集内任取两点,其连线上的所有点仍在凸集之内. 凸函数 凸函 ...

  3. 凸优化(Convex Optimization)浅析

    本博客已经迁往http://www.kemaswill.com/, 博客园这边也会继续更新, 欢迎关注~ 在机器学习中, 很多情况下我们都需要求得一个 问题的全局最优值(global optimum) ...

  4. MySQL文档翻译(八)附英文原文---性能优化概览

    优化概述 数据库性能表现依赖于数据库级别的几个因素,比如表,查询和配置设置.这些软件在硬件级别通过CPU和IO操作构筑结果,你需要尽可能的使用最少的资源达到最大的效果.当你专注于数据库的性能表现时,你 ...

  5. 【mysql 优化 1】优化概述

    原文地址:Optimization Overview 数据库性能取决于几个数据库层面的因素,比如:表设计,查询语句,配置. 这些软件结构导致你必须在CPU和I/O 操作的硬件层面做到尽可能的最小化和高 ...

  6. 统计学习方法6—logistic回归和最大熵模型

    目录 logistic回归和最大熵模型 1. logistic回归模型 1.1 logistic分布 1.2 二项logistic回归模型 1.3 模型参数估计 2. 最大熵模型 2.1 最大熵原理 ...

  7. (转载) AutoML 与轻量模型大列表

    作者:guan-yuan 项目地址:awesome-AutoML-and-Lightweight-Models 博客地址:http://www.lib4dev.in/info/guan-yuan/aw ...

  8. (转)AutoML 与轻量模型大列表: awesome-AutoML-and-Lightweight-Models

    Awesome-AutoML-and-Lightweight-Models 原文:http://bbs.cvmart.net/articles/414/zi-yuan-automl-yu-qing-l ...

  9. SQL optimizer -Query Optimizer Deep Dive

    refer: http://sqlblog.com/blogs/paul_white/archive/2012/04/28/query-optimizer-deep-dive-part-1.aspx  ...

随机推荐

  1. Android录音服务

    MediaRecorder Mediarecorder=new MediaRecorder();//创建一个MediaRecorder对象 Mediarecorder.setAudioSource(M ...

  2. MD中bitmap源代码分析--入题概述

    在MD模块中,各级raid都使用的一份bitmap的源码,也就是说共用一种bitmap的流程,下面以raid1的使用为例来分析bitmap的工作原理. 在使用raid1磁盘阵列的时候,对于数据的可靠性 ...

  3. Javascript的模块化编程

    随着网站逐渐变成"互联网应用程序",嵌入网页的Javascript代码越来越庞大,越来越复杂. 网页越来越像桌面程序,需要一个团队分工协作.进度管理.单元测试等等......开发者 ...

  4. [转]Android访问网络,使用HttpURLConnection还是HttpClient

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/12452307 最近在研究Volley框架的源码,发现它在HTTP请求的使用上比较有 ...

  5. JAVA基础1

    阶段0:拟出一个计划 阶段1:要制作什么? 阶段2:如何构建? 阶段3:开始创建 阶段4:校订 阶段5:计划的回报   一.程序运行时,数据保存位置 1.寄存器.这是最快的保存区域,因为它位于和其他所 ...

  6. CareerCup Chapter 9 Sorting and Searching

    9.1 You are given two sorted arrays, A and B, and A has a large enough buffer at the end to hold B. ...

  7. (转)Android 判断用户2G/3G/4G移动数据网络

    在做 Android App 的时候,为了给用户省流量,为了不激起用户的愤怒,为了更好的用户体验,是需(要根据用户当前网络情况来做一些调整的,也可以在 App 的设置模块里,让用户自己选择,在 2G ...

  8. Android 属性动画(一)

    1.概述 Android提供了几种动画类型:View Animation .Drawable Animation .Property Animation .View Animation相当简单,不过只 ...

  9. DateTimeBox( 日期时间输入框)

    本节课重点了解 EasyUI 中 DateTimeBox(日期时间输入框)组件的使用方法,这个组件依赖于 DateBox(日期输入框)组件和 TimeSpinner(时间微调)组件. 一. 加载方式/ ...

  10. 网页CSS2

    列表与方块 width , hight (top, bottom ,left , right)   只有在决对坐标下才起作用 下面的使用与 ol  ul list-style:none // 取消序号 ...