Spec-Zone .ru
спецификации, руководства, описания, API
|
This benchmark suite is meant to tell any user what operations a given SQL implementation performs well or
poorly. You can get a good idea for how the benchmarks work by looking at the code and results in the sql-bench
directory in any MySQL source distribution.
Note that this benchmark is single-threaded, so it measures the minimum time for the operations performed. We plan to add multi-threaded tests to the benchmark suite in the future.
To use the benchmark suite, the following requirements must be satisfied:
The benchmark suite is provided with MySQL source distributions. You can either
download a released distribution from
The benchmark scripts are written in Perl and use the Perl DBI module to access
database servers, so DBI must be installed. You also need the server-specific DBD drivers for each of
the servers you want to test. For example, to test MySQL, PostgreSQL, and DB2, you must have the DBD::mysql
, DBD::Pg
, and DBD::DB2
modules installed. See Section
2.13, "Perl Installation Notes".
After you obtain a MySQL source distribution, you can find the benchmark suite located in its sql-bench
directory. To run the benchmark tests, build MySQL, and then change
location into the sql-bench
directory and execute the run-all-tests
script:
shell>cd sql-bench
shell>perl run-all-tests --server=
server_name
server_name
should be the name of one of the supported servers. To get
a list of all options and supported servers, invoke this command:
shell> perl run-all-tests
--help
The crash-me script also is located in the sql-bench
directory. crash-me tries to determine what features a database
system supports and what its capabilities and limitations are by actually running queries. For example, it
determines:
What data types are supported
How many indexes are supported
What functions are supported
How big a query can be
How big a VARCHAR
column can be
For more information about benchmark results, visit http://www.mysql.com/why-mysql/benchmarks/.