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. HDU_2055——刷题不要使用fflush()

    Problem Description we define f(A) = 1, f(a) = -1, f(B) = 2, f(b) = -2, ... f(Z) = 26, f(z) = -26; G ...

  2. vimrc 留备份

    set encoding=UTF-8 "encode with UTF-8"set backspace=2set nusyn onset ai!syntax enablesynta ...

  3. angular 数据加载动画 longding

    由于公司服务器架构不行,每次加载数据都要很久,但是都是使用angular来渲染数据,不像jquery有beforsend什么的方法, 这是一个github上找的,很轻使用也很简单 1.安装  npm ...

  4. Beanstalkd(ubuntu安装)

    安装Beanstalkd # apt-get install beanstalkd Unubtu 开启beanstalkd的持久化选项 #vim  /etc/default/beanstalkd 把S ...

  5. 查询死锁和处理死锁(SqlServer)

    -------------------查询死锁,极其引起的原因-------------------------------use master go create procedure sp_who_ ...

  6. (转)iOS消息推送机制中pem文件的生成

    转自:http://2015.iteye.com/blog/1567777 以前写了一篇文章:iOS消息推送机制的实现,这篇文章中生成的是p12文件,但是php是用的pem文件,生成的方法和p12文件 ...

  7. Java体系总结

    一.Java SE部分 1.java基础:基础语法:面向对象(重点):集合框架(重点):常见类库API: 2.java界面编程:AWT:事件机制:Swing: 3.java高级知识:Annotatio ...

  8. google在线測试练习题1

    Problem You receive a credit C at a local store and would like to buy two items. You first walk thro ...

  9. iptables简述

    一.linux防火墙基础防火墙分为硬件防火墙和软件防火墙. 1.概述linux 防火墙体系主要工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙.       包过滤机制:ne ...

  10. linux一键安装vncserver脚本

    title: linux一键安装vncserver脚本 date: 2016-04-11 14:32:04 tags: --- linux多数情况下是作为服务器使用的,管理员一般也喜欢使用命令行来管理 ...