`
Supanccy2013
  • 浏览: 224948 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

mysql性能调优--总括

阅读更多
每张表数据最好不要超过2000W 条数据
超过之后分表存储,分库存储
一个实例oracle一时打开一个数据库
一个实例mysql一时打开多个数据库


按对数据调优影响从高到低依次为:

数据库的设计与规划
数据的引用(sql)
mysql服务优化,内存磁盘的使用
操作系统优化
升级硬件设备

数据库的设计与规划:
事务处理用innodb引擎。
非事务处理用myIsam
mysql版本的影响。

尽量采取优化算法
建立合适的索引

插入,修改,删除数据的时候,索引是最大的瓶颈。
所以如果要导入数据的时候就删除索引。


所用exists少用in
尽量避免使用is null,所以经常不要允许为null,设置默认值。


mysql内存配置:
my.ini
query_cache_size:
table_case:


磁盘io规划:
raid技术:
-raid 0+1
raid 0
raid 5

swap分区的使用
-最好使用单独的raid0 分区

磁盘分区
--磁盘读取分流
数据读写特别大库文件放到多个磁盘上。

一个库放在一个分区上。


操作系统的优化
优化网络:
linu 采用bonding技术

优化系统内核:
--优化系统tcp连接
--优化系统打开文件的最大限制

关闭不必要的服务


第二章优化mysql服务
show status;
show variables;
show processlist;
show warnings;
show errors;

启动mysql慢速查询日志:
log-slow-queries = /new/log.log
long-query-time=5
log-queries-not-using-indexes mysql4.1以后的版本有效

通过mysqldumpslow命令制定日志文件的路径进行查看


对查询进行缓存
缓存的大小不是越大越好,也不是越少越好。适当最好。
查询命中率越高越好


对mysql资源进行强制配置:
max_connections  //最大连接数 一般1000
wait_timeout    //空闲多长时间后断开链接
max_connect_errors    //最大的错误链接数 一般设置为2001


表的告诉缓存:
table_cache   //缓存表的数量
open_tables   //已经打开表的数量
opened_tables  //需要打开表的数量  越大 表示 table_cache 设置的小了

加size表示的空间大小,不加的表示个数

thread_cache

threads_created   //线程的创建数量,越大表示thread_cache 设置的小了。


关键字缓冲区
key_buffer_size      

key_read_requests   //请求的总数
key_reads        //命中磁盘的请求个数
key_read_requests / key_reads  = 100/1  表示需要增加key_buffer_zise
key_read_requests / key_reads  = 1000/1  表示比key_buffer_size大小比较合适

命中率: (key_read_requests - key_reads) / key_read_requests


临时表的大小,内存区域,用于存放临时表,不是程序员操作的,
是mysql引擎自动的需要创建的。
tmp_table_size
created_tmp_table    //创建tmp表的数量
created_temp_disk_table  //创建tmp磁盘表的数量,数量不断增加,表示tmp_table_size

查询的两种方式
select_scan
select_range


排序缓冲区
sort_buffer_size

sort_range
sort_rows
sort_merge_passes   //次数,磁盘内容合并次数,越大,表示sort_buffer_size需要增加
sort_buffer_size也不是越大越好。


mysql调优工具。
mytop
http://jeremy.zawodny.com/mysql/mytop
mytop -u username -p passwor

mysqlard
mysqlreport
mysqlslap 是myslq官方提供的压力测试工具  mysql 5.1以后。
phpmyadmin



日常维护小技能
安全是第一位。之后再讨论效率
myisam备份方法
mysqlhotcopy:拷贝数据文件到制定的目录,先锁着,再解锁。不适合很繁忙的时候备份
              数据不会丢,很方便
mysqldump: 先锁着,通过sql语句方式,生成sql语句。
            最好每张表每张sql,不要一个库一个sql,否则会很大的sql文件

innodb备份文件
mysqldump
innodb hot backup 非免费。

二进制恢复2
二进制日志 binlog
-mysqlbinlog

直接备份数据文件
flush tables with read lock  直接拷贝数据文件。
分享到:
评论

相关推荐

    MySQL性能调优与架构设计(pdf高清)

    MySQL性能调优与架构设计MySQL性能调优与架构设计MySQL性能调优与架构设计MySQL性能调优与架构设计MySQL性能调优与架构设计MySQL性能调优与架构设计MySQL性能调优与架构设计MySQL性能调优与架构设计

    MySQL性能调优与架构设计.pdf

    "MySQL性能调优与架构设计.pdf" 本资源摘要信息是关于 MySQL 数据库软件的性能调优和架构设计的知识点。MySQL 是一个流行的开源数据库管理系统,具有简单高效可靠的特点,广泛应用于各个行业。以下是从给定的文件中...

    MySQL性能调优与架构设计 PDF图书 百度网盘下载链接

    MySQL性能调优与架构设计 PDF图书MySQL性能调优与架构设计 PDF图书

    《数据库性能调优--原理与技术》

    还有数据库管理工具,如MySQL Workbench或Oracle SQL Developer,它们提供了丰富的功能,包括数据库设计、数据导入导出、备份恢复以及性能调优等。 文件"数据库管理系统资源的生产者-消费者层次结构.vsd"可能是一个...

    mysql面试题-mysql经典面试题目-数据库的基本概念-SQL语法-事务处理-索引优化-性能调优-mysql-面试题目

    【MySQL面试题】在面试MySQL相关的职位时,面试官可能会问到一系列关于数据库基础、SQL语法、事务处理、索引优化以及性能调优的问题。以下是一些可能的面试重点: 1. **数据库基本概念**: - 数据库是用于存储和...

    性能调优-(2)Explain详解与索引优化最佳实践

    性能调优-(2)Explain详解与索引优化最佳实践

    MySQL性能调优与架构设计(完整)

    ### MySQL性能调优与架构设计的关键知识点 #### 一、MySQL概述 - **MySQL Server简介** - **定义**: MySQL是由MySQL AB公司(现已被Oracle收购)开发的一款开放源代码的关系型数据库管理系统(RDBMS)。 - **特点*...

    2021年MySQL性能调优与架构设计整理.pdf

    ### MySQL性能调优与架构设计的关键知识点 #### 一、MySQL概述 - **定义与特点**:MySQL是一款由MySQL AB公司开发(后被Sun Microsystems收购)的开源数据库管理系统,以其简单高效、可靠性强等特点著称。它是一款...

    数据库性能调优--原理与技术

    ### 数据库性能调优——原理与技术 #### 一、基础知识与重要概念 **1.1 数据库性能调优概述** 数据库性能调优是确保数据库系统高效稳定运行的关键环节之一。它不仅涉及到对数据库本身的调整,还包括对底层硬件、...

    数据库性能调优--原理与技术.rar

    以上这些只是数据库性能调优的部分内容,实际操作中还需要结合具体的数据库管理系统(如MySQL、Oracle、SQL Server等)和业务需求来进行细致的调整。通过对这些原理和技术的深入理解和应用,可以有效地提升数据库...

    MySQL性能调优与架构设计--全册

    MySQL是世界上最受欢迎的...本全册将详细讲解以上知识点,并通过实例演示如何在实际应用中实施这些策略,帮助读者成为MySQL性能调优与架构设计的专家。无论你是初学者还是有经验的DBA,都能从中获得宝贵的知识和经验。

    MySQL性能调优与架构设计.mobi

    本书以 MySQL 数据库的基础及维护为切入点,重点介绍了 MySQL 数据库应用系统的性能调优,以及高可用可扩展的架构设计。 全书共分3篇,基础篇介绍了MySQL软件的基础知识、架构组成、存储引擎、安全管理及基本的备份...

    《MySQL性能调优与架构设计》附录--example数据库脚本

    在《MySQL性能调优与架构设计》一书中,附录部分提供了一个名为“example”的数据库创建脚本。这个脚本是用于演示和学习如何构建一个简单的数据库结构,它包含了几个核心表,如event、group_message、group_message_...

    MySQL性能调优与架构设计-简朝阳

    《MySQL性能调优与架构设计》是简朝阳的一本专著,主要针对数据库管理员、开发人员和系统架构师,深入探讨了如何优化MySQL数据库的性能并进行合理的架构设计。书中涵盖了多个关键领域,旨在帮助读者提升数据库系统的...

Global site tag (gtag.js) - Google Analytics