八 31 innodb_flush_method 与 Linux File I/O 发布时间:2009 年 8 月 31 日 发布者: OurMySQL innodb_flush_log_at_trx_commit参数确定日志文件何时write、flush。innodb_flush_method则确定日志及数据文件如何write、flush。在Linux下,innodb_flush_method可以取如下值:fdatasync, O_DSYNC, O_DIRECT,那这三个值分别是如何影响文件写入的?首先我们需要先来了解Linux的文件I/O是如何工作的。 继续阅读全文 →
八 27 Query Cache,看上去很美 发布时间:2009 年 8 月 27 日 发布者: OurMySQL 当你的数据库打开了Query Cache(简称QC)功能后,数据库在执行SELECT语句时,会将其结果放到QC中,当下一次处理同样的SELECT请求时,数据库就会从QC取得结果,而不需要去数据表中查询。 继续阅读全文 →
八 27 字符与字节 发布时间:2009 年 8 月 27 日 发布者: OurMySQL 总结: char以字符来计算,一个中文一个英文都是占1个字符; Binary以字节来计算,一个英文占1个字节,一个中文占2个字节。 继续阅读全文 →
八 20 64位Linux上安装Memcached详细步骤 发布时间:2009 年 8 月 20 日 发布者: OurMySQL 由于32位操作系统下面单进程最大内存使用不能超过2G,而我们用Memcached经常需要使用更大的内存空间,所以选择64位的Linux版本是必须的,64位OS下的Memcached安装和32位OS下差不多,只有一个地方稍有不同,详见下面的红色字体部分。 继续阅读全文 →
八 18 随机主键对InnoDB插入性能的影响 发布时间:2009 年 8 月 18 日 发布者: OurMySQL 孔子说得好,“学而不思则罔,思而不学则殆”。看书看多了不去想不去做对比,很快脑子就会一片混乱。这篇blog稍微介绍下随机主键对InnoDB插入性能的影响。 InnoDB引擎的行结构相当复杂(compact、redundant、Barracuda)。为了弄明白这一个细节,我翻了很多遍官方手册。后来又对比着看了很多本书,发现他们自相矛盾,无奈之下,只能从简单的开始测起。 继续阅读全文 →
八 18 InnoDB之Dirty Page、Redo log 发布时间:2009 年 8 月 18 日 发布者: OurMySQL 在InnoDB中,buffer pool里面的dirty page一方面可以加快数据处理速度,同时也会造成数据的不一致(RAM vs DISK)。本文介绍了dirty page是如何产生,以及InnoDB如何利用redo log如何消除dirty page产生的数据不一致。 继续阅读全文 →
八 16 mysql数据库备份脚本 发布时间:2009 年 8 月 16 日 发布者: OurMySQL 该脚本可以将数据库备份到/backup目录,以便你随时恢复备份。 同时该脚本可以指定你要备份的数据库。 继续阅读全文 →
八 14 CHAR定长字段对MyISAM和InnoDB的意义 发布时间:2009 年 8 月 14 日 发布者: OurMySQL 如果使用类似主服务器是InnoDB,从服务器是MyISAM这样的主从结构,那么就有必要针对不同的表类型考虑CHAR的取舍,头脑中应该一直有这样的概念,不要想当然的认为主从服务器中表的字段类型必须一致。 继续阅读全文 →
八 13 MySQL 关于毫秒的处理 发布时间:2009 年 8 月 13 日 发布者: OurMySQL 很多从ORACLE 或者 SQL SERVER 移植到 MySQL 的朋友都遇到一个相同的问题,就是关于毫秒的存储与显示。 由于MySQL 的只提供了DATETIME, TIMESTAMP, TIME, DATE, YEAR这几种时间类型,而且DATETIME 以及 TIMESTAMP 的最小单位是秒,没有存储毫秒级别的函数。 不过MySQL 却能识别时间中的毫秒部分。而且我们有多种方式可以获得毫秒的部分,比如函数:microsecond 等。 继续阅读全文 →
八 13 MySQL-Proxy 实现 MySQL 的负载均衡和读写分离 发布时间:2009 年 8 月 13 日 发布者: OurMySQL Mysql proxy是MySQL官方开发一个mysql数据库前端代理,使用C语言编写,并且支持lua来编写proxy规则,可以用来实现mysql的读写分离,负载均衡等等功能. 继续阅读全文 →