Ourmysql - ourmysql.com - OurMySQL

Latest News:

slow log中出现大量的binlog dump记录 27 Aug 2013 | 04:06 am

   线上有个数据库,在slow log中,存在大量类似下面的记录: 每完成一次binlog dump都会被记录下来,看着非常不爽(我有强迫症,O(∩_∩)O哈哈~),得想着法子搞掉。 经过排查,最后确认是特定版本存在这个现象,目前发现官方 5.1.49-log MySQL Community Server (GPL) 存在,估计整个官方 5.1.x 都会有这个现象。 解决...

初窥InnoDB的Memcached插件 21 Aug 2013 | 06:11 pm

   前些年,HandlerSocket的横空出世让人们眼前一亮,当时我还写了一篇文章介绍了其用法梗概,时至今日,由于种种原因,HandlerSocket并没有真正流行起来,不过庆幸的是MySQL官方受其启发,研发了基于InnoDB的Memcached插件,总算是在MySQL中延续了NoSQL的香火,以前单独架设Memcached服务器不仅浪费了内存,而且还必须自己维护数据的不一致问题,有了Mem...

MySQL的varchar定义长度到底是字节还是字符 15 Aug 2013 | 06:31 pm

   环境:CentOS5.x,MySQL5.1.x UTF8字符集下: GBK字符集下: 由此可见,varchar定义的长度的单位是字符,哪怕是1个多字节字符也是1个字符,如中文和英文字母都被当作1个字符来对待。 那么varchar能够定义的最大长度是多少呢?这个和你当前所使用的字符集有关。抛开字符,其最大长度为65535字节(这是最大行大小,由所有列共享),而放...

MySQL中无GROUP BY直接HAVING的问题 15 Aug 2013 | 06:02 pm

   今天有同学给我反应,有一张表,id是主键,这样的写法可以返回一条记录: “SELECT * FROM t HAVING id=MIN(id);” 但是只是把MIN换成MAX,这样返回就是空了: “SELECT * FROM t HAVING id=MAX(id);” 这是为什么呢? 我们先来做个试验,验证这种情况。 这是表结构,初始化两条记录,...

MySQL Innodb数据库性能实践——VARCHAR vs CHAR 9 Aug 2013 | 04:45 am

   学过数据库理论的读者,都应该还记得关于CHAR和VARCHAR的性能对比:CHAR比VARCHAR更快,因为CHAR是固定长度的,而VARCHAR需要增加一个长度标识,处理时需要多一次运算。 针对这种情况,我做了一下基准测试,基准测试环境如下: 【硬件配置】 硬件 配置 CPU Intel(R) Xeon(R) CPU E5620 主频2.40...

MySQL源代码:关于MySQL的Item对象 31 Jul 2013 | 06:11 pm

   前篇介绍了MySQL如何从SQL语句转换成一个内部对象。本文是前篇的延续,将更加详细的介绍WHERE语句对应的Item对象。 1. Item对象@MySQL Internal (建议阅读:The Item Class@MySQL Internals Manual,忽略本小结) MySQL Internals Manual较为详细的介绍了Item对象。Item对象经常被称作"...

MySQL源代码:从SQL语句到MySQL内部对象 31 Jul 2013 | 06:05 pm

优化器是关系数据库的一个重要而有特色的部分,优化器的理论和实践也多半也都很复杂,本系列文章希望通过解析MySQL优化器,来用好MySQL,扬其长,避其短。顺便也一窥关系数据库优化器的实现思路。文章将重点介绍重要的数据结构和数据结构之间的关系,而不是侧重于代码(“Bad programmers worry about the code. Good programmers worry about da...

index merge的补充说明 31 Jul 2013 | 06:00 pm

在除了前面介绍的常见index merge的案例(Index Merge Union Access Algorithm)之外,还有一类很少见也比较特殊的index merge,多个索引扫描后进行交集,即 Index Merge Intersection。这类执行计划比较少见(因为MySQL需要ROR的原因),但是,在合适的场景使用,效率仍然会有很大的提示,本文将看看MySQL优化器如何评估和选择此...

SQL去除重复删除重复数据(高效,大数据) 10 Jul 2013 | 06:40 pm

MYSQL里有五百万数据,但大多是重复的,真实的就180万,于是想怎样把这些重复的数据搞出来,在网上找了一圈,好多是用NOT IN这样的代码,这样效率很低,自己琢磨组合了一下,找到一个高效的处理方式,用这个方式,五百万数据,十来分钟就全部去除重复了,请各位参考。 第一步:从500万数据表data_content_152里提取出不重复的字段SFZHM对应的ID字段到TMP3表 create ta...

MySQL数据库慢日志分析工具mysqlsla 7 Jul 2013 | 10:50 pm

mysqlsla是hackmysql.com推出的一款MySQL的日志分析工具,功能非常强大. 数据报表,非常有利于分析慢查询的原因, 包括执行频率, 数据量, 查询消耗等。 一、使用 mysqlsla -lt slow mysql-slow.log 或者 mysqlsla -lt slow mysql-slow.log -sf “+SELECT” -db dbName -top 10 -sort...

Recently parsed news:

Recent searches: