在以下链接中
http://dev.mysql.com/doc/refman/5.1/en/innodb-parameters.html#sysvar_innodb_flush_method
它说:这个变量的不同值可以对InnoDB性能产生显着影响.例如,在InnoDB数据和日志文件位于SAN上的某些系统上,已发现将innodb_flush_method设置为O_DIRECT会使简单SELECT语句的性能降低三倍.
为什么O_DIRECT会降低select语句的速度?
O_DIRECT绕过操作系统的缓存系统.SAN可能是一个非常快速的存储系统,但通常它将通过网络链接在其他地方并代理/隐藏在各种其他层之后.通过使用消除本地缓存的O_DIRECT,您可以强制InnoDB每次都直接访问存储系统.