忽略mysql的key cache hit ratio
Why you should ignore MySQL’s key cache hit ratio
http://www.mysqlperformanceblog.com/2010/02/28/why-you-should-ignore-mysqls-key-cache-hit-ratio/
不要相信mysql的key cache hit ratio:
key cache hit ratio = 1 - key_reads / key_read_requests
key_reads:从磁盘中读块的数量
key_read_requests:从缓存中请求读块的数量
不好的建议是:
(1)你应当注意这个cache hit ratio
(2)并且你应当根据这个比率设置你的key_buffer_size的大小
以上的建议有两个问题:
(1)这个比率是无量纲,即你不知道key_read_requests和key_reads是处于什么数量级别的,因此你无法评估这个值
(2)它没有时间因素,即这个比值不知道其时间跨度,也无法评估这个值的优劣
如果要确实使用这个值来评估优劣,那需要一些假定:
(1)key_read需对应一次磁盘I/O的物理读取
(2)从磁盘中找此key和从缓存中找此key是更慢的
(3)一个key_read是一次随机的磁盘存取
基于以上几点:则需要减少key_reads的数量
key_cache_miss_rate = key_reads / uptime
怎么样设置key_buffer_size大小呢?
可以设置一个很大的key_buffer_size,然后插入一些数据,执行一些查询,每隔一段时间测量key_buffer_size的使用大小,绘制曲线图,取其最高点的值作为key_buffer_size的大小。
相关文档:
第一步,下载Mysql的JDBC驱动程序,名为connectorJ。下载网址:http://dev.mysql.com/downloads/connector/j/
解压缩zip文件后,将文件mysql-connector-java-5.1.12-bin.jar到目录d:\Software\MySQL\MySQL Server 5.1\jdbcdriver\中
第二步,修改文件d:\Software\bea\WebLogic 9.23\user_projects\domains\MyDomain\bin\s ......
安装环境:VMware Workstation 5.5.0 build-18463
Linux版本:Red Hat Enterprise Linux AS (2.6.9-42.EL)
软件版本:MySQL5 - mysql-5.0.37.tar.gz
Apache2 - httpd-2.2.4.tar.gz
PHP5 - php-5.2.1.tar.gz
(将以上文件保存至/home/tmp目录)
[MySQL]
# cd /home/tmp (进入压缩包 ......
触发器在mysql中应用的不多,它是在mysql5以上才开始支持的,不支持不代表它不重要,首先了解一下什么是触发器.触发器是在数据库中为响应一个特殊表格中的某些事件而自动执行的程序代码。(Wikipedia)说得简单一些,它是在一个特殊的数据库事件,如INSERT或DELETE发生时,自动激活的一段代码。触发器可方便地用于日志记录、对 ......
最近,项目中用到mysql,由于数据量非常大,每天的数据量在百万级,考虑到mysql数据库处理性能以及数据属性,决定保存足够多的查询数据即可,距当前时间最久远的数据直接删除,无需进行备份。
头脑中冒出的第一个想法就是,能否利用mysql中的触发器,检查数据表大小,如果超过预设长度,则删除部分数据。
CREATE TRIGGER ......
Advanced MySQL Replication Techniques
http://dev.mysql.com/tech-resources/articles/advanced-mysql-replication.html
在多个master中复制的问题,主要是自增主键问题。
可以用auto_increment_increment和auto_increment_offset参数解决
(1)auto_increment_increment:控制增长的间隔
(2)auto_increment_of ......