对于经常修改的表,容易产生碎片,使在查询数据库时必须读取更多的磁盘块,降低查询性能。具有可变长的表都存在磁盘碎片问题,这个问题对blob数据类型更为突出,因为其尺寸变化非常大。可以通过使用optimize table来整理碎片,保证数据库性能不下降,优化那些受碎片影响的数据表。
对于一个以数据为中心的应用,数据库的好坏直接影响到程序的性能,因此数据库性能至关重要。一般来说,要保证数据库的效率,要做好以下四个方面的工作:数据库设计、sql语句优化、数据库参数配置、恰当的硬件资源和操作系统,这个顺序也表现了这四个工作对性能影响的大小。
SQL查询慢的48个原因分析1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)。2、I/O吞吐量小,形成了瓶颈效应。3、没有创建计算列导致查询不优化。4、内存不足。5、网络速度慢。6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)。7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)。
Apache+php+mysql在windows下的安装与配置图解。
Mysql Cluster的配置。
这是一份腾讯内部的技术文档,详细讲述了 MySQL 数据库启用二进制日志 binlog 的细节,非常有参考价值。前言:日志是把数据库的每一个变化都记载到一个专用的文件里,这种文件就叫做日志文件。Mysql默认只打开出错日志,因为过多的日志将会影响系统的处理性能。在5.0前支持文本格式和二进制格式,5.0后只支持二进制格式,因为二进制日志在性能、信息处理方面有更多的优点。本文将对mysql的二进制日志机制进行分析,希望通过这篇文档,能够让初学者对二进制日志有一个初步的了解。
MySQL数据库的表是一个二维表,由一个或多个数据列构成。每个数据列都有它的特定类型,该类型决定了MySQL如何看待该列数据,我们可以把整型数值存放到字符类型的列中,MySQL则会把它看成字符串来处理。MySQL中的列类型有三种:数值类、字符串类和日期/时间类。从大类来看列类型和数值类型一样,都是只有三种。但每种列类型都还可细分。
深入浅出MySQL数据库开发、优化与管理维护
这是关于5.1版至5.1.2-alpha版MySQL数据库系统的参考手册。该手册不适用于旧版本MySQL软件,这是因为在MySQL 5.1和以前的版本存在很多功能性差异和其他差异。如果正在使用MySQL软件的较旧版本,请参阅MySQL 5.0参考手册,该手册涵盖了MySQL 5.0,或参阅MySQL 4.1参考手册,该手册涵盖了MySQL 3.22、3.23、4.0和4.1系列。在手册的文本中,通过引用发布版本号(5.1.x),注明了MySQL 5.1的二级版本。由于本手册是作为参考手册而编制的,在本手册中未提供关于SQL或关联数据库概念的一般说明。在本手册中,也不包含如何使用操作系统或命令行解释器方面的信息。