时间:2013年11月07日 ⁄ 分类: 数据库技术文档 ⁄   我要吐槽发评论 MySQL 5.6 GA 发布了,毫无疑问,这是 MySQL 最棒的一个版本. 如果你还不清楚 MySQL 5.6 版本一长串的新特性和改进内容,可以从这里获得了解. 而我这篇文章的主要目的则是性能的测试. 我使用 Sysbench workloads (Read-Only/Read-Write) 来测试.下面是我的测试环境: 硬件配置: 服务器 : 32核 bi-thread (HT) Intel 2300Mhz…
本文地址 分享提纲: 1.为查询缓存优化你的查询 2. EXPLAIN 你的 SELECT 查询 3. 当只要一行数据时使用 LIMIT 1 4. 为搜索字段建索引 5. 在Join表的时候使用相当类型的例,并将其索引 6. 千万不要 ORDER BY RAND() 7. 避免 SELECT * 8. 永远为每张表设置一个ID 9. 使用 ENUM 而不是 VARCHAR 10. 从 PROCEDURE ANALYSE() 取得建议 11. 尽可能的使用 NOT NULL 12. Prepare…
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能.这里,我们不会讲过 多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库.希望下面的这些优化技巧对你有用. 1. 为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存.这是提高性最有效的方法之一,而且这是被…
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能.这里,我们不会讲过 多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库.希望下面的这些优化技巧对你有用. 1. 为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存.这是提高性最有效的方法之一,而且这是被…
1. 为查询缓存优化查询 当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了. 2. EXPLAIN   SELECT 查询 使用 EXPLAIN 关键字可以知道MySQL是如何处理SQL语句的.这可以查询语句或是表结构的性能瓶颈. EXPLAIN 的查询结果还会索引主键被如何利用的,数据表是如何被搜索和排序的……等等 3. 当只要一行数据时使用 LIMIT 1 当查询表的有些时候,已经知道结果只会有一条结果,但因为可能需…
KVM 环境下MySQL性能对比 标签(空格分隔): Cloud2.0 [TOC] 测试目的 对比MySQL在物理机和KVM环境下性能情况 压测标准 压测遵循单一变量原则,所有的对比都是只改变一个变量的前提下完成 测试方式 以物理机MySQL为基准,分别做两次测试 测试IO相关参数(writethrough, innodb flush method) 测试CPU相关参数(NUMA Balancing) 测试环境 CPU:Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10…
http://www.searchdatabase.com.cn/showcontent_38045.htm MySQL性能优化的21个最佳实践 1. 为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存.这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的.当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了. 这里最主要的问题是,对于程序员来说,这个事情是很容易被忽略的.因为,我们某些查询语句会…
前言 近期在重新学习总结MySQL数据库性能优化的相关知识,本文是根据自己学习以及日常性能测试调优过程中总结的经验整理了一份平民化的优化指南,希望对大家在进行MySQL调优分析时有帮助!   MySQL查询执行原理 一般情况下,我们优化MySQL,目的就是为了查询数据更快,在优化MySQL性能之前,有必要先弄清楚MySQL是如何优化和执行查询的.一旦理解了这一点,就会发现很多的查询优化工作实际上就是遵循一些原则让MySQL的优化器能够按照预想的合理方式运行而已. 如上图,整个MySQL查询执行过…
mysql性能优化 硬件对数据库的影响 CPU资源和可用内存大小 服务器硬件对mysql性能的影响 我们的应用是CPU密集型? 我们的应用的并发量如何? 数量比频率更好 64位使用32位的服务器版本 32位不能使用超过4G的内容,因此选择的时候需要注意. myisam innodb 磁盘的配置和选择 机械硬盘: 存储容量 传输速度 访问时间 主轴转速 物理尺寸 使用RAID增加传统机器硬盘的性能 RAID:一系列小磁盘组成大磁盘,数据冗余 RAID 0 :成本最低,但是没有数据冗余会造成数据丢失…
MySQL · 性能优化 · 条件下推到物化表 http://mysql.taobao.org/monthly/2016/07/08/ 背景 MySQL引入了Materialization(物化)这一关键特性用于子查询(比如在IN/NOT IN子查询以及 FROM 子查询)优化.具体实现方式是:在SQL执行过程中,第一次需要子查询结果时执行子查询并将子查询的结果保存为临时表 ,后续对子查询结果集的访问将直接通过临时表获得.与此同时,优化器还具有延迟物化子查询的能力,先通过其它条件判断子查询是否真…
内容简介:这是一篇关于mysql 性能,mysql性能优化,mysql 性能优化的文章.网上有不少mysql 性能优化方案,不过,mysql的优化同sql server相比,更为麻烦与负责,同样的设置,在不同的环境下 ,由于内存,访问量,读写频率,数据差异等等情况,可能会出现不同的结果,因此简单地根据某个给出方案来配置mysql是行不通的,最好能使用 status信息对mysql进行具体的优化,网上找了一篇文章,分页分得乱七八糟的,只能转到博客.   网上有不少mysql 性能优化方案,不过,m…
MySQL性能优化的21个最佳实践 和 mysql使用索引 今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能.这里,我们不会讲过 多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库.希望下面的这些优化技巧对你有用. 1. 为查询缓存优化你的查询 大多数的MySQL服…
MySQL 5.6 和 MariaDB-10.0 的性能比较测试 时间 2013-02-14 10:11:34  开源中国 原文  http://www.oschina.net/question/12_90065 主题 MariaDBOLTP测试技术 Oracle 刚刚发布了 MySQL 5.6.10 GA 版本,所以是时候更新下之前的性能测试数据了,此次的测试包括以下几个版本: MySQL-5.5.29 MySQL-5.6.10 MariaDB-5.5.28a MariaDB-10.0.1 此…
paip.提升性能---mysql 性能 测试以及 参数调整.txt 作者Attilax  艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/attilax /////////环境 xpsp3   cpu2.1g  单核.  mem :2g ----------1000>1   1.8s "D:\MySQL56\bin\mysqlslap.exe"     --concurrency=1 --au…
在搭建MySQL集群之后需要测试集群的性能究竟如何,采用Apache的测试工具Jmeter进行测试,本文主要介绍主要实现Jmeter配置连接到MySQL. 安装相应的软件 首先Jmeter是基于Java的,因此首先需要jdk或者jre 从Apache官网下载jmeter,直接解压,在windows上运行jmeter.bat 为了连接Mysql数据库,还需要下载"mysql-connector-java",可以从MySQL官网下载 配置测试连接 第一步运行jmeter.bat,会打开程序…
mysqlslap 是 Mysql 自带的压力测试工具,可以模拟出大量客户端同时操作数据库的情况,通过结果信息来了解数据库的性能状况 mysqlslap 的一个主要工作场景就是对数据库服务器做基准测试 例如我们拿到了一台服务器,准备做为数据库服务器,那么这台服务器的硬件资源能够支持多大的访问压力呢?优化了操作系统的内核参数后,是否提升了性能?调整了Mysql配置参数后,对性能有多少影响?…… 通过一系列的调优工作,配合基准测试,就可以把这台服务器调整到最佳状态,也掌握了健康状态下的性能指标 以后…
mysqlslap mysqlslap可以模拟服务器的负载,并输出计时信息.它包含在MySQL 5.1 的发行包中,应该在MySQL 4.1或者更新的版本中都可以使用.测试时可以执行并发连接数,并指定SQL 语句(可以在命令行上执行,也可以把SQL 语句写入到参数文件中).如果没有指定SQL 语句,mysqlslap 会自动生成查询schema 的SELECT 语句. MySQL Benchmark Suite (sql-bench) 在MySQL 的发行包中也提供了一款自己的基准测试套件,可以…
[硬件配置]CPU : AMD2500+ (1.8G)内存: 1G/现代硬盘: 80G/IDE[软件配置]OS : Windows XP SP2SE : PHP5.2.1DB : MySQL5.0.37Web: IIS6[MySQL表结构] ) default NULL,  `content` text,  PRIMARY KEY  (`id`)) ENGINE=InnoDB DEFAULT CHARSET=gbk; [数据内容]$name = "heiyeluren";$conten…
一.MySQL常用配置 以下所有配置参数以32G内存的服务器为基 1.打开独立的表空间 innodb_file_per_table = 1 2.MySQL服务所允许的同时会话数的上限,默认为151,经常出现Too Many Connections的错误提示,则需要增大此值 max_connections = 8000 3.操作系统在监听队列中所能保持的连接数 back_log = 300 4.每个客户端连接最大的错误允许数量,当超过该次数,MYSQL服务器将禁止此主机的连接请求,直到MYSQL服…
测试开发mysql性能调优总结 mysql在创建表的时候,对每个字段选择合适的数据类型很重要! 根据个人的经验总结: 整数类型选择 INT小数类型选择 DECIMAL字符串类型选择 TEXT日期时间选择 DATETIME 一般在表中我们都是以字符串类型居多,但是如果字符串类型的字段作为主键的时候,就不能用TEXT了,最好选用CHAR或VARCHAR 主要原因是:CHAR表示固定长度的字符串VARCHAR表示的是可变长度的字符串TEXT表示的是长度不可控,系统会根据实际长度存储这个TEXT字段,不…
之前介绍过MySQL的性能测试工具sysbench, 这次介绍一个mysql自带的比较简单的性能测试命令mysqlslap. 下面的指令模拟了1000个进程同事连接mysql,并执行100个查询操作,所需的时间: mysqlslap -hlocalhost -uroot -ppassword -P3306 --concurrency=100 --iterations=1 --auto-generate-sql --auto-generate-sql-load-type=mixed --auto-…
接上一篇Mysql性能优化一 建立适当的索引 说起提高数据库性能,索引是最物美价廉的东西了.不用加内存,不用改程序,不用调sql,只要执行个正确的'create index',查询速度就可能提高百倍千倍,这可真有诱惑力.可是天下没有免费的午餐,查询速度的提高是以插入.更新.删除的速度为代价的,这些写操作,增加了大量的I/O. 是不是建立一个索引就能解决所有的问题?ename上没有建立索引会怎样? UPDATE emp set ename='zhangsan' where empno=100002…
下一篇:Mysql性能优化二 mysql的性能优化无法一蹴而就,必须一步一步慢慢来,从各个方面进行优化,最终性能就会有大的提升. Mysql数据库的优化技术 对mysql优化是一个综合性的技术,主要包括 表的设计合理化(符合3NF) 添加适当索引(index) [四种: 普通索引.主键索引.唯一索引unique.全文索引] 分表技术(水平分割.垂直分割) 读写[写: update/delete/add]分离 存储过程 [模块化编程,可以提高速度] 对mysql配置优化 [配置最大并发数my.in…
1. 普通青年的索引使用方式 假设我们有一个用户表 tb_user,内容如下: name age sex jack 22 男 rose 21 女 tom 20 男 ... ... ... 执行SQL语句: SELECT name FROM tb_user WHERE age = 20; 默认情况下,MySQL需要遍历整张表,才能找到符合条件的记录.如果在age字段上建立索引,那么MySQL可以很快找到所有符合条件的记录(索引本身通过B+树实现,查起来很快.简单起见,想象一下二分查找和遍历查找的区…
虽然经过研究发现TCMalloc不适合我们现有的游戏框架,但意外收获发现TCMalloc可以大幅度提高MYSQL 性能及内存占用,这里给出配置及测试的结果: 1.配置 关于TCMalloc的安装,在<Google perftools 安装手记(TCMalloc)> 一文中已经详细给出,下面给出将TCMalloc配置到MYSQL的步骤: 1.1 修改MySQL启动脚本(依据MySQL安装位置): vi /usr/local/mysql/bin/mysqld_safe 在# executing m…
一.优化概述 二.查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 profiling分析查询 2索引及查询优化 三.配置优化 1)      max_connections 2)      back_log 3)      interactive_timeout 4)      key_buffer_size 5)      query_cache_size 6)      record_buffer_size 7)      read_rnd_buffer…
一.测试篇 1.测试目的,就是量化找出短板(基础参数配置) 2.测试三大指标 IOPS:每秒处理的IO请求数,即IO响应速度(注意和IO吞吐量的区别) QPS:每秒请求(查询)次数 TPS:每秒事务数 3.测试工具 mysqlslap(略) sysbench tpcc-mysql 二.mysql性能调优的思路 1.确定问题范围 a.是周期性的变化还是偶尔问题? b.是服务器整体性能的问题, 还是某单条语句的问题? c.具体到单条语句, 这条语句是在等待上花的时间,还是查询上花的时间. 2.定位问…
网上有很多的文章教怎么配置MySQL服务器,但考虑到服务器硬件配置的不同,具体应用的差别,那些文章的做法只能作为初步设置参考,我们需要根据自己的情况进行配置优化,好的做法是MySQL服务器稳定运行了一段时间后运行,根据服务器的”状态”进行优化. 打开慢查询方法:其实打开mysql的慢查询日志很简单,只需要在mysql的配置文件里(windows系统是my.ini,linux系统是my.cnf)的[mysqld]下面加上如下代码: log-slow-queries = /usr/local/mys…
1.目的: 通过根据服务器目前状况,修改Mysql的系统参数,达到合理利用服务器现有资源,最大合理的提高MySQL性能. 2.服务器参数: 32G内存.4个CPU,每个CPU 8核. 3.MySQL目前安装状况. MySQL目前安装,用的是MySQL默认的最大支持配置.拷贝的是my-huge.cnf.编码已修改为UTF-8.具体修改及安装MySQL,可以参考<<Linux系统上安装MySQL 5.5>>帮助文档. 4.修改MySQL配置 打开MySQL配置文件my.cnf vi  …
原文:MySQL性能.监控与灾难恢复 监控方案:     up.time    http://www.uptimesoftware.com/    收费     Cacti        http://www.cacti.net/     KDE System Guard(KSysGuard)                      http://docs.kde.org/stable/en/kdebase-workspace/ksysguard/index.html     Gnome Sy…