了解数据存储mysql对测试的助益
过去的一个月,我的工作重心都在合服模块的测试。颇有一些收获。
此次大量和mysql打交道,对产品的数据存储有了比较全面的掌握。并促使和执行了db的表结构和属性的检查。合服投放后,暂未发现因错误数据导致的bug或事故。
并在测试初期就关注和检测性能指标,促使程序做了一次性能测试;对投放时的风险增强了预防和控制。
这些对我的测试思维,有了很大的拓展。
相关文档:
MySql版本信息的查询:
1、通过mysql -V命令查询
C:\mysql\bin>mysql -V
mysql Ver 12.22 Distrib 4.0.18, for Win95/Win98 (i32)
2、通过mysql模式下的status命令查看状态
mysql> status
--------------
mysql Ver 12.22 Distrib 4.0.18, for Win95/Win98 (i32)
Connection id: &nbs ......
比如:
insert into User values(x1,x2,x3,x4),(x1,x2,x3,x4),(x1,x2,x3,x4)
这种写法,列数量必须和表中所有列保持一致,也就是说列都要列出来。
这个user表里面的一个字段x1是个自增长字段,则应该填null占位
insert into User values(null,x2,x3,x4),(null,x2,x3,x4),(null,x2,x3,x4)
否则会报错。 ......
key_buffer_size - 这对MyISAM表来说非常重要。如果只是使用MyISAM表,可以把它设置为可用内存的 30-40%。合理的值取决于索引大小、数据量以及负载。
记住,MyISAM表会使用操作系统的缓存来缓存数据,因此需要留出部分内存给它们,很多情况下数据比索引大多了。尽管如此,需要总是检查是否所有的 key_buffer 都被利用了。 ......
[MySQL优化] -- 如何查找SQL效率地下的原因
时间:2010-2-28来源:HaCMS开源社区 作者:chusong
查询到效率低的 SQL 语句 后,可以通过 EXPLAIN 或者 DESC 命令获取 MySQL 如何执行 SELECT 语句的信息,包括在 SELECT 语句执行过程中表如何连接和连接的顺序,比如我们想计算 2006 年所有公司的销售额,需要关联 sales ......
用 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 用于回收闲置的数据 ......