用 OPTIMIZE TABLE 优化 mysql 表
用 OPTIMIZE TABLE 优化 mysql 表
时间:2010-2-28来源:HaCMS开源社区 作者:gangzhong
REPAIR TABLE `table_name` 修复表 OPTIMIZE TABLE `table_name` 优化表 myisamchk table.MYI 修复索引 REPAIR TABLE 用于修复被破坏的表。 myisamchk TABLE.MYI 用于修复被破坏的索引文件。 OPTIMIZE TABLE 用于回收闲置的数据库空间,当表上的数据行被删除时,所占据的 ...
REPAIR TABLE `table_name` 修复表 OPTIMIZE TABLE `table_name` 优化表 myisamchk table.MYI 修复索引 REPAIR TABLE 用于修复被破坏的表。 myisamchk TABLE.MYI 用于修复被破坏的索引文件。 OPTIMIZE TABLE 用于回收闲置的数据库空间,当表上的数据行被删除时,所占据的磁盘空间并没有立即被回收,使用了OPTIMIZE TABLE命令后这些空间将被回收,并且对磁盘上的数据行进行重排(注意:是磁盘上,而非数据库)。 多数时间并不需要运行OPTIMIZE TABLE,只需在批量删除数据行之后,或定期(每周一次或每月一次)进行一次数据表优化操作即可,只对那些特定的表运行,这个操作对于游戏数据库中的某些表特别起作用,这些表基本上需要每周做一次优化,甚至一周两次。 OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLEtbl_name[,tbl_name] ... 如果您已经删除了表的一大部分,或者如果您已经对含有可变长度行的表(含有VARCHAR, BLOB或TEXT列的表)进行了很多更改,则应使用OPTIMIZE TABLE。被删除的记录被保持在链接清单中,后续的INSERT操作会重新使用旧的记录位置。您可以使用OPTIMIZE TABLE来重新利用未使用的空间,并整理数据文件的碎片。在多数的设置中,您根本不需要运行OPTIMIZE TABLE。即使您对可变长度的行进行了大量的更新,您也不需要经常运行,每周一次或每月一次即可,只对特定的表运行。 OPTIMIZE TABLE只对MyISAM, BDB和InnoDB表起作用。对于MyISAM表,OPTIMIZE TABLE按如下方式操作: 1. 如果表已经删除或分解了行,则修复表。 2. 如果未对索引页进行分类,则进行分类。 3. 如果表的统计数据没有更新(并且通过对索引进行分类不能实现修复),则进行更新。对于BDB表,OPTIMIZE TABLE目前被映射到ANALYZE TABLE上。对于InnoDB表,OPTIMIZE TABLE被映射到ALTER TABLE上,这会重建表。重建操作能更新索引统计数据并释放成簇索引中的未使用的空间。请参见13.5.2.1节,“ANALYZE TABLE语法”。使用?skip-new或?safe-mode选项可以启动mysqld。通过启动mysqld,您可以使
相关文档:
一个网友在坛子上问到的问题,说用MinGW GCC编译运行一个连接MySQL数据库的程序时遇到错误:
undefined reference to `mysql_init@4'
undefined reference to `mysql_real_connect@32'
undefined reference to `mysql_close@4'
我遂去MySQL官网下了个最新的Windows C Connect ......
MYSQL4.1及更高版本支持服务器端准备语句(Prepared Statements), 它使用增强的二进制客户端/服务器协议在客户端和服务器之间高效的发送数据,可以通过支持这种行协议的编程库来访问准备语句,列入MYSQL CAPI,MYSQL Connector/J和MYSQL Connector/NET 为JAVA和.NET提供了同样的访问接口。它也有SQL语言的访问接口。
创建准 ......
mysql 编译安装与编译参数
添加mysql组和mysql用户
[root@centos mysql]# groupadd mysql
[root@centos mysql]# useradd -g mysql mysql
编译与安装
tar -zxvf mysql-5.1.35.tar.gz
./configure \
--prefix=/usr/local/mysql \
--localstatedir=/data/mysql/data \ m ......
[MySQL优化] -- 如何查找SQL效率地下的原因
时间:2010-2-28来源:HaCMS开源社区 作者:chusong
查询到效率低的 SQL 语句 后,可以通过 EXPLAIN 或者 DESC 命令获取 MySQL 如何执行 SELECT 语句的信息,包括在 SELECT 语句执行过程中表如何连接和连接的顺序,比如我们想计算 2006 年所有公司的销售额,需要关联 sales ......
[MySQL优化] -- 如何了解SQL的执行频率
时间:2010-2-28来源:HaCMS开源社区 作者:chuxu
MySQL 客户端连接成功后,通过 show [session|global]status 命令 可以提供服务器状态信息,也可以在操作系统上使用 mysqladmin extended-status 命令获得这些消息。 show [session|global] status 可以根据需要加上参数&ldquo ......