本章应该包含MySQL基准套件的技术描述(和crash-me
),但是该描述还没被写成。目前,你应该研究在分发中的“sql-bench”目录下代码和结果(当然在网页并且(通常发现了在MySQL分发的“sql-bench”目录下找到))。
基准将告诉任何一个给定的SQL实现在哪方面表现得很好或很糟糕。
注意,这个基准是单线程的,因此它测量操作的最小时间。
例如(在同一台NT 4.0机器上运行):
通过索引读取 2000000行(2百万) |
秒数 |
秒数 |
mysql |
367 |
249 |
mysql_odbc |
464 |
db2_odbc |
1206 |
informix_odbc |
121126 |
ms-sql_odbc |
1634 |
oracle_odbc |
20800 |
solid_odbc |
877 |
sybase_odbc |
17614 |
插入(350768)行 |
秒数 |
秒数 |
mysql |
381 |
206 |
mysql_odbc |
619 |
db2_odbc |
3460 |
informix_odbc |
2692 |
ms-sql_odbc |
4012 |
oracle_odbc |
11291 |
solid_odbc |
1801 |
sybase_odbc |
4802 |
在上面的测试中MySQL用一个8M索引缓存运行。
注意,没有包含Oracle,因为他们要求删去。所有的 Oracle基准测试不得不被Oracle拿走!我们相信使Oracle基准测试很有偏见,因为上面的基准测试被假定来显示可以能为一个单个做一个标准安装。
crash-me
试图确定一个数据库支持什么特征并且实际运行的查询有什么和限制。例如,它确定:
- 支持的什么列类型
- 支持多少索引
- 支持什么功能
- 一个查询能有多大
- 一个
VARCHAR
列能有多大