1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

Fix of LEFT JOIN optimizer bug, problem with key cache on Windows and

a lot of portability issues.
This commit is contained in:
monty@donna.mysql.com
2000-10-14 03:16:35 +03:00
parent 5134b08422
commit 7ac13c89e6
48 changed files with 773 additions and 327 deletions

View File

@ -0,0 +1,19 @@
Testing server 'MySQL 3.23.25 beta' at 2000-10-13 0:30:52
ATIS table test
Creating tables
Time for create_table (28): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Inserting data
Time to insert (9768): 4 wallclock secs ( 0.66 usr 0.60 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Retrieving data
Time for select_simple_join (500): 2 wallclock secs ( 0.64 usr 0.38 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_join (200): 13 wallclock secs ( 4.22 usr 3.17 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_distinct (800): 11 wallclock secs ( 1.68 usr 1.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_group (2800): 10 wallclock secs ( 1.54 usr 0.65 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Removing tables
Time to drop_table (28): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 40 wallclock secs ( 8.74 usr 5.83 sys + 0.00 cusr 0.00 csys = 0.00 CPU)

View File

@ -1,19 +1,19 @@
Testing server 'MySQL 3.23.25 beta' at 2000-09-27 2:53:29
Testing server 'MySQL 3.23.26 gamma' at 2000-10-13 14:00:43
ATIS table test
Creating tables
Time for create_table (28): 0 wallclock secs ( 0.00 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for create_table (28): 1 wallclock secs ( 0.02 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Inserting data
Time to insert (9768): 5 wallclock secs ( 0.86 usr 1.25 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to insert (9768): 5 wallclock secs ( 1.06 usr 1.22 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Retrieving data
Time for select_simple_join (500): 4 wallclock secs ( 1.75 usr 0.53 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_join (200): 22 wallclock secs (13.38 usr 5.28 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_distinct (800): 17 wallclock secs ( 4.75 usr 1.78 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_group (2800): 21 wallclock secs ( 3.16 usr 1.13 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_simple_join (500): 3 wallclock secs ( 1.56 usr 0.66 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_join (200): 23 wallclock secs (13.31 usr 5.59 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_distinct (800): 17 wallclock secs ( 4.36 usr 2.64 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_group (2800): 20 wallclock secs ( 3.14 usr 1.14 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Removing tables
Time to drop_table (28): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 69 wallclock secs (23.89 usr 9.98 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 69 wallclock secs (23.45 usr 11.27 sys + 0.00 cusr 0.00 csys = 0.00 CPU)

View File

@ -0,0 +1,86 @@
Benchmark DBD suite: 2.9
Date of test: 2000-10-13 0:30:52
Running tests on: Linux 2.2.13-SMP alpha
Arguments:
Comments: Alpha DS20 2x500 MHz, 2G memory, key_buffer=16M; gcc 2.95.2 + ccc
Limits from:
Server version: MySQL 3.23.25 beta
ATIS: Total time: 40 wallclock secs ( 8.74 usr 5.83 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
alter-table: Total time: 435 wallclock secs ( 0.29 usr 0.17 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
big-tables: Total time: 41 wallclock secs ( 8.36 usr 10.28 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
connect: Total time: 76 wallclock secs (34.42 usr 12.79 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
create: Total time: 135 wallclock secs (10.37 usr 4.56 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
insert: Total time: 1756 wallclock secs (370.65 usr 171.18 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
select: Total time: 1982 wallclock secs (130.60 usr 108.91 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
wisconsin: Total time: 19 wallclock secs ( 3.67 usr 2.69 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
All 8 test executed successfully
Totals per operation:
Operation seconds usr sys cpu tests
alter_table_add 238.00 0.17 0.07 0.00 992
alter_table_drop 189.00 0.06 0.04 0.00 496
connect 13.00 7.52 2.74 0.00 10000
connect+select_1_row 16.00 7.90 3.25 0.00 10000
connect+select_simple 16.00 7.94 3.21 0.00 10000
count 53.00 0.04 0.01 0.00 100
count_distinct 94.00 0.64 0.20 0.00 1000
count_distinct_big 851.00 79.09 89.50 0.00 1020
count_distinct_group 69.00 1.13 0.58 0.00 1000
count_distinct_group_on_key 48.00 0.37 0.16 0.00 1000
count_distinct_group_on_key_parts 69.00 1.10 0.62 0.00 1000
count_group_on_key_parts 44.00 1.15 0.58 0.00 1000
count_on_key 452.00 15.84 4.57 0.00 50100
create+drop 13.00 2.72 1.19 0.00 10000
create_MANY_tables 91.00 1.80 0.61 0.00 10000
create_index 4.00 0.00 0.00 0.00 8
create_key+drop 17.00 4.20 1.25 0.00 10000
create_table 0.00 0.00 0.00 0.00 31
delete_all 11.00 0.00 0.00 0.00 12
delete_all_many_keys 49.00 0.01 0.00 0.00 1
delete_big 0.00 0.00 0.00 0.00 1
delete_big_many_keys 49.00 0.01 0.00 0.00 128
delete_key 5.00 0.68 0.58 0.00 10000
drop_index 4.00 0.00 0.00 0.00 8
drop_table 0.00 0.00 0.00 0.00 28
drop_table_when_MANY_tables 7.00 0.69 0.60 0.00 10000
insert 132.00 22.47 20.01 0.00 350768
insert_duplicates 40.00 6.20 6.19 0.00 100000
insert_key 95.00 8.49 5.48 0.00 100000
insert_many_fields 14.00 0.34 0.12 0.00 2000
insert_select_1_key 5.00 0.00 0.00 0.00 1
insert_select_2_keys 7.00 0.00 0.00 0.00 1
min_max 23.00 0.03 0.00 0.00 60
min_max_on_key 188.00 25.65 7.76 0.00 85000
multiple_value_insert 7.00 2.08 0.05 0.00 100000
order_by 51.00 21.06 22.46 0.00 10
order_by_key 36.00 20.39 14.82 0.00 10
outer_join 65.00 0.00 0.00 0.00 10
outer_join_found 60.00 0.00 0.00 0.00 10
outer_join_not_found 38.00 0.01 0.00 0.00 500
outer_join_on_key 42.00 0.00 0.00 0.00 10
select_1_row 3.00 0.38 1.04 0.00 10000
select_2_rows 3.00 0.35 0.96 0.00 10000
select_big 56.00 30.32 15.00 0.00 10080
select_column+column 3.00 0.32 0.73 0.00 10000
select_diff_key 175.00 0.24 0.05 0.00 500
select_distinct 11.00 1.68 1.02 0.00 800
select_group 51.00 1.59 0.66 0.00 2911
select_group_when_MANY_tables 7.00 0.95 0.90 0.00 10000
select_join 13.00 4.22 3.17 0.00 200
select_key 141.00 74.40 21.54 0.00 200000
select_key2 146.00 76.95 20.42 0.00 200000
select_key_prefix 146.00 76.59 19.98 0.00 200000
select_many_fields 27.00 8.01 10.15 0.00 2000
select_range 269.00 9.47 5.61 0.00 410
select_range_key2 19.00 6.47 2.37 0.00 25010
select_range_prefix 20.00 6.54 2.29 0.00 25010
select_simple 2.00 0.28 0.79 0.00 10000
select_simple_join 2.00 0.64 0.38 0.00 500
update_big 28.00 0.00 0.00 0.00 10
update_of_key 44.00 2.93 2.56 0.00 50256
update_of_key_big 19.00 0.04 0.03 0.00 501
update_with_key 139.00 23.06 19.06 0.00 300000
wisc_benchmark 4.00 1.75 0.93 0.00 114
TOTALS 4533.00 566.96 316.29 0.00 1944607

View File

@ -1,79 +1,86 @@
Benchmark DBD suite: 2.9
Date of test: 2000-09-27 2:14:34
Date of test: 2000-10-13 13:16:20
Running tests on: Windows NT Version 4.0
Arguments:
Comments: 2x Pentium III XEON 450MHZ, 512M
Limits from:
Server version: MySQL 3.23.25 beta
Server version: MySQL 3.23.26 gamma
alter-table: Total time: 2334 wallclock secs ( 0.75 usr 0.48 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
ATIS: Total time: 69 wallclock secs (23.89 usr 9.98 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
big-tables: Total time: 80 wallclock secs (17.56 usr 18.45 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
connect: Total time: 183 wallclock secs (59.48 usr 50.92 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
create: Failed (output/create-mysql-NT_4.0)
insert: Total time: 5829 wallclock secs (581.28 usr 317.09 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
select: Total time: 2397 wallclock secs (317.05 usr 117.49 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
wisconsin: Total time: 28 wallclock secs ( 8.19 usr 5.31 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
alter-table: Total time: 2663 wallclock secs ( 0.73 usr 0.64 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
ATIS: Total time: 69 wallclock secs (23.45 usr 11.27 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
big-tables: Total time: 80 wallclock secs (17.59 usr 18.69 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
connect: Total time: 178 wallclock secs (57.88 usr 48.91 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
create: Total time: 848 wallclock secs (14.42 usr 10.19 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
insert: Total time: 5599 wallclock secs (584.97 usr 320.95 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
select: Total time: 2294 wallclock secs (316.44 usr 121.50 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
wisconsin: Total time: 28 wallclock secs ( 8.39 usr 5.59 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Of 8 tests, 1 tests didn't work
All 8 test executed successfully
Totals per operation:
Operation seconds usr sys cpu tests
alter_table_add 1242.00 0.42 0.17 0.00 992
alter_table_drop 1042.00 0.25 0.25 0.00 496
connect 32.00 10.92 11.08 0.00 10000
connect+select_1_row 38.00 12.33 12.44 0.00 10000
connect+select_simple 37.00 12.31 11.61 0.00 10000
count 39.00 0.06 0.02 0.00 100
count_distinct 97.00 0.97 0.36 0.00 1000
count_distinct_big 1209.00 225.82 83.41 0.00 1020
count_distinct_group 144.00 2.70 0.98 0.00 1000
count_distinct_group_on_key 54.00 0.61 0.23 0.00 1000
count_distinct_group_on_key_parts 144.00 2.44 1.28 0.00 1000
count_group_on_key_parts 47.00 2.34 0.75 0.00 1000
count_on_key 438.00 22.47 8.91 0.00 50100
create_index 26.00 0.00 0.00 0.00 8
create_table 0.00 0.00 0.02 0.00 31
delete_all 22.00 0.00 0.00 0.00 12
delete_all_many_keys 1498.00 0.02 0.01 0.00 1
alter_table_add 1433.00 0.45 0.34 0.00 992
alter_table_drop 1177.00 0.17 0.14 0.00 496
connect 33.00 11.66 10.31 0.00 10000
connect+select_1_row 38.00 12.94 12.19 0.00 10000
connect+select_simple 38.00 12.14 12.00 0.00 10000
count 34.00 0.11 0.03 0.00 100
count_distinct 74.00 0.95 0.28 0.00 1000
count_distinct_big 1191.00 227.87 86.22 0.00 1020
count_distinct_group 149.00 2.50 1.00 0.00 1000
count_distinct_group_on_key 40.00 0.63 0.27 0.00 1000
count_distinct_group_on_key_parts 149.00 2.95 1.06 0.00 1000
count_group_on_key_parts 41.00 2.72 0.84 0.00 1000
count_on_key 407.00 20.91 9.02 0.00 50100
create+drop 124.00 3.22 2.39 0.00 10000
create_MANY_tables 213.00 2.77 1.67 0.00 10000
create_index 27.00 0.00 0.00 0.00 8
create_key+drop 159.00 5.92 2.61 0.00 10000
create_table 1.00 0.02 0.02 0.00 31
delete_all 22.00 0.00 0.02 0.00 12
delete_all_many_keys 1422.00 0.00 0.00 0.00 1
delete_big 0.00 0.00 0.00 0.00 1
delete_big_many_keys 1498.00 0.02 0.01 0.00 128
delete_key 7.00 0.97 1.25 0.00 10000
drop_index 24.00 0.00 0.02 0.00 8
delete_big_many_keys 1422.00 0.00 0.00 0.00 128
delete_key 7.00 0.97 1.36 0.00 10000
drop_index 25.00 0.00 0.02 0.00 8
drop_table 0.00 0.00 0.00 0.00 28
insert 234.00 34.55 46.33 0.00 350768
insert_duplicates 59.00 6.50 10.52 0.00 300000
insert_key 1593.00 14.31 14.47 0.00 100000
insert_many_fields 22.00 0.52 0.42 0.00 2000
min_max 20.00 0.05 0.03 0.00 60
min_max_on_key 211.00 37.06 13.64 0.00 85000
multiple_value_insert 9.00 2.51 0.24 0.00 100000
order_by 99.00 63.39 25.81 0.00 10
order_by_key 89.00 63.61 25.09 0.00 10
outer_join 120.00 0.00 0.00 0.00 10
outer_join_found 106.00 0.01 0.00 0.00 10
outer_join_not_found 55.00 0.00 0.00 0.00 500
drop_table_when_MANY_tables 159.00 1.22 1.27 0.00 10000
insert 252.00 34.77 46.66 0.00 350768
insert_duplicates 59.00 8.11 13.67 0.00 100000
insert_key 1447.00 13.78 13.42 0.00 100000
insert_many_fields 22.00 0.55 0.35 0.00 2000
insert_select_1_key 8.00 0.00 0.00 0.00 1
insert_select_2_keys 13.00 0.00 0.00 0.00 1
min_max 18.00 0.11 0.02 0.00 60
min_max_on_key 192.00 36.01 14.60 0.00 85000
multiple_value_insert 9.00 2.34 0.26 0.00 100000
order_by 98.00 63.58 25.14 0.00 10
order_by_key 90.00 64.05 25.08 0.00 10
outer_join 118.00 0.01 0.00 0.00 10
outer_join_found 105.00 0.00 0.00 0.00 10
outer_join_not_found 56.00 0.00 0.00 0.00 500
outer_join_on_key 40.00 0.00 0.00 0.00 10
select_1_row 5.00 1.13 1.70 0.00 10000
select_2_rows 6.00 0.97 1.97 0.00 10000
select_big 144.00 84.41 33.61 0.00 10080
select_column+column 6.00 1.06 1.67 0.00 10000
select_diff_key 123.00 0.39 0.08 0.00 500
select_distinct 17.00 4.75 1.78 0.00 800
select_group 61.00 3.29 1.15 0.00 2911
select_join 22.00 13.38 5.28 0.00 200
select_key 193.00 92.27 38.89 0.00 200000
select_key2 202.00 93.95 37.08 0.00 200000
select_key_prefix 198.00 91.75 40.53 0.00 200000
select_many_fields 55.00 17.05 18.03 0.00 2000
select_range 187.00 27.56 9.31 0.00 410
select_range_key2 29.00 10.02 3.90 0.00 25010
select_range_prefix 28.00 10.74 3.92 0.00 25010
select_simple 4.00 0.86 1.70 0.00 10000
select_simple_join 4.00 1.75 0.53 0.00 500
update_big 64.00 0.00 0.00 0.00 500
update_of_key 541.00 4.83 6.56 0.00 756
update_of_key_big 34.00 0.08 0.05 0.00 501
update_with_key 185.00 24.97 40.99 0.00 100000
wisc_benchmark 9.00 5.80 1.64 0.00 114
TOTALS 12412.00 1008.17 519.72 0.00 1845595
select_1_row 5.00 0.78 1.78 0.00 10000
select_2_rows 6.00 0.91 2.11 0.00 10000
select_big 138.00 81.45 32.88 0.00 10080
select_column+column 6.00 1.00 1.72 0.00 10000
select_diff_key 124.00 0.41 0.09 0.00 500
select_distinct 17.00 4.36 2.64 0.00 800
select_group 56.00 3.22 1.16 0.00 2911
select_group_when_MANY_tables 193.00 1.28 2.25 0.00 10000
select_join 23.00 13.31 5.59 0.00 200
select_key 196.00 96.84 36.63 0.00 200000
select_key2 203.00 92.92 39.80 0.00 200000
select_key_prefix 201.00 91.41 40.78 0.00 200000
select_many_fields 56.00 17.03 18.35 0.00 2000
select_range 189.00 26.94 9.30 0.00 410
select_range_key2 30.00 10.56 3.72 0.00 25010
select_range_prefix 26.00 9.81 4.36 0.00 25010
select_simple 4.00 1.05 1.67 0.00 10000
select_simple_join 3.00 1.56 0.66 0.00 500
update_big 62.00 0.00 0.00 0.00 10
update_of_key 492.00 4.46 7.55 0.00 50256
update_of_key_big 33.00 0.06 0.03 0.00 501
update_with_key 188.00 25.03 40.83 0.00 300000
wisc_benchmark 9.00 5.80 1.47 0.00 114
TOTALS 13172.00 1023.62 537.63 0.00 1944607

View File

@ -0,0 +1,16 @@
Testing server 'MySQL 3.23.25 beta' at 2000-10-13 0:31:33
Testing of ALTER TABLE
Testing with 1000 columns and 1000 rows in 20 steps
Insert data into the table
Time for insert (1000) 0 wallclock secs ( 0.06 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for alter_table_add (992): 238 wallclock secs ( 0.17 usr 0.07 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for create_index (8): 4 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for drop_index (8): 4 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for alter_table_drop (496): 189 wallclock secs ( 0.06 usr 0.04 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 435 wallclock secs ( 0.29 usr 0.17 sys + 0.00 cusr 0.00 csys = 0.00 CPU)

View File

@ -1,16 +1,16 @@
Testing server 'MySQL 3.23.25 beta' at 2000-09-27 2:14:35
Testing server 'MySQL 3.23.26 gamma' at 2000-10-13 13:16:20
Testing of ALTER TABLE
Testing with 1000 columns and 1000 rows in 20 steps
Insert data into the table
Time for insert (1000) 0 wallclock secs ( 0.06 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for insert (1000) 1 wallclock secs ( 0.11 usr 0.14 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for alter_table_add (992): 1242 wallclock secs ( 0.42 usr 0.17 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for alter_table_add (992): 1433 wallclock secs ( 0.45 usr 0.34 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for create_index (8): 26 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for create_index (8): 27 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for drop_index (8): 24 wallclock secs ( 0.00 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for drop_index (8): 25 wallclock secs ( 0.00 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for alter_table_drop (496): 1042 wallclock secs ( 0.25 usr 0.25 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for alter_table_drop (496): 1177 wallclock secs ( 0.17 usr 0.14 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 2334 wallclock secs ( 0.75 usr 0.48 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 2663 wallclock secs ( 0.73 usr 0.64 sys + 0.00 cusr 0.00 csys = 0.00 CPU)

View File

@ -0,0 +1,19 @@
Testing server 'MySQL 3.23.25 beta' at 2000-10-13 0:38:49
Testing of some unusual tables
All tests are done 1000 times with 1000 fields
Testing table with 1000 fields
Testing select * from table with 1 record
Time to select_many_fields(1000): 11 wallclock secs ( 3.96 usr 5.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing select all_fields from table with 1 record
Time to select_many_fields(1000): 16 wallclock secs ( 4.05 usr 5.09 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert VALUES()
Time to insert_many_fields(1000): 5 wallclock secs ( 0.31 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert (all_fields) VALUES()
Time to insert_many_fields(1000): 9 wallclock secs ( 0.03 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 41 wallclock secs ( 8.36 usr 10.28 sys + 0.00 cusr 0.00 csys = 0.00 CPU)

View File

@ -1,19 +1,19 @@
Testing server 'MySQL 3.23.25 beta' at 2000-09-27 2:54:38
Testing server 'MySQL 3.23.26 gamma' at 2000-10-13 14:01:53
Testing of some unusual tables
All tests are done 1000 times with 1000 fields
Testing table with 1000 fields
Testing select * from table with 1 record
Time to select_many_fields(1000): 19 wallclock secs ( 8.08 usr 9.09 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to select_many_fields(1000): 20 wallclock secs ( 8.03 usr 9.38 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing select all_fields from table with 1 record
Time to select_many_fields(1000): 36 wallclock secs ( 8.97 usr 8.94 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to select_many_fields(1000): 36 wallclock secs ( 9.00 usr 8.97 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert VALUES()
Time to insert_many_fields(1000): 3 wallclock secs ( 0.44 usr 0.09 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to insert_many_fields(1000): 3 wallclock secs ( 0.39 usr 0.13 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert (all_fields) VALUES()
Time to insert_many_fields(1000): 19 wallclock secs ( 0.08 usr 0.33 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to insert_many_fields(1000): 19 wallclock secs ( 0.16 usr 0.22 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 80 wallclock secs (17.56 usr 18.45 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 80 wallclock secs (17.59 usr 18.69 sys + 0.00 cusr 0.00 csys = 0.00 CPU)

View File

@ -0,0 +1,30 @@
Testing server 'MySQL 3.23.25 beta' at 2000-10-13 0:39:31
Testing the speed of connecting to the server and sending of data
All tests are done 10000 times
Testing connection/disconnect
Time to connect (10000): 13 wallclock secs ( 7.52 usr 2.74 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test connect/simple select/disconnect
Time for connect+select_simple (10000): 16 wallclock secs ( 7.94 usr 3.21 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test simple select
Time for select_simple (10000): 2 wallclock secs ( 0.28 usr 0.79 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing connect/select 1 row from table/disconnect
Time to connect+select_1_row (10000): 16 wallclock secs ( 7.90 usr 3.25 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing select 1 row from table
Time to select_1_row (10000): 3 wallclock secs ( 0.38 usr 1.04 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing select 2 rows from table
Time to select_2_rows (10000): 3 wallclock secs ( 0.35 usr 0.96 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test select with aritmetic (+)
Time for select_column+column (10000): 3 wallclock secs ( 0.32 usr 0.73 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing retrieval of big records (65000 bytes)
Time to select_big (10000): 20 wallclock secs ( 9.73 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 76 wallclock secs (34.42 usr 12.79 sys + 0.00 cusr 0.00 csys = 0.00 CPU)

View File

@ -1,30 +1,30 @@
Testing server 'MySQL 3.23.25 beta' at 2000-09-27 2:55:59
Testing server 'MySQL 3.23.26 gamma' at 2000-10-13 14:03:13
Testing the speed of connecting to the server and sending of data
All tests are done 10000 times
Testing connection/disconnect
Time to connect (10000): 32 wallclock secs (10.92 usr 11.08 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to connect (10000): 33 wallclock secs (11.66 usr 10.31 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test connect/simple select/disconnect
Time for connect+select_simple (10000): 37 wallclock secs (12.31 usr 11.61 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for connect+select_simple (10000): 38 wallclock secs (12.14 usr 12.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test simple select
Time for select_simple (10000): 4 wallclock secs ( 0.86 usr 1.70 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_simple (10000): 4 wallclock secs ( 1.05 usr 1.67 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing connect/select 1 row from table/disconnect
Time to connect+select_1_row (10000): 38 wallclock secs (12.33 usr 12.44 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to connect+select_1_row (10000): 38 wallclock secs (12.94 usr 12.19 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing select 1 row from table
Time to select_1_row (10000): 5 wallclock secs ( 1.13 usr 1.70 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to select_1_row (10000): 5 wallclock secs ( 0.78 usr 1.78 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing select 2 rows from table
Time to select_2_rows (10000): 6 wallclock secs ( 0.97 usr 1.97 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to select_2_rows (10000): 6 wallclock secs ( 0.91 usr 2.11 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test select with aritmetic (+)
Time for select_column+column (10000): 6 wallclock secs ( 1.06 usr 1.67 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_column+column (10000): 6 wallclock secs ( 1.00 usr 1.72 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing retrieval of big records (65000 bytes)
Time to select_big (10000): 55 wallclock secs (19.89 usr 8.75 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to select_big (10000): 48 wallclock secs (17.38 usr 7.11 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 183 wallclock secs (59.48 usr 50.92 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 178 wallclock secs (57.88 usr 48.91 sys + 0.00 cusr 0.00 csys = 0.00 CPU)

View File

@ -0,0 +1,18 @@
Testing server 'MySQL 3.23.25 beta' at 2000-10-13 0:40:47
Testing the speed of creating and droping tables
Testing with 10000 tables and 10000 loop count
Testing create of tables
Time for create_MANY_tables (10000): 91 wallclock secs ( 1.80 usr 0.61 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Accessing tables
Time to select_group_when_MANY_tables (10000): 7 wallclock secs ( 0.95 usr 0.90 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing drop
Time for drop_table_when_MANY_tables (10000): 7 wallclock secs ( 0.69 usr 0.60 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing create+drop
Time for create+drop (10000): 13 wallclock secs ( 2.72 usr 1.19 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for create_key+drop (10000): 17 wallclock secs ( 4.20 usr 1.25 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 135 wallclock secs (10.37 usr 4.56 sys + 0.00 cusr 0.00 csys = 0.00 CPU)

View File

@ -1,6 +1,18 @@
Testing server 'MySQL 3.23.25 beta' at 2000-09-27 2:59:02
Testing server 'MySQL 3.23.26 gamma' at 2000-10-13 14:06:11
Testing the speed of creating and droping tables
Testing with 10000 tables and 10000 loop count
Testing create of tables
Time for create_MANY_tables (10000): 213 wallclock secs ( 2.77 usr 1.67 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Accessing tables
Time to select_group_when_MANY_tables (10000): 193 wallclock secs ( 1.28 usr 2.25 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing drop
Time for drop_table_when_MANY_tables (10000): 159 wallclock secs ( 1.22 usr 1.27 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing create+drop
Time for create+drop (10000): 124 wallclock secs ( 3.22 usr 2.39 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for create_key+drop (10000): 159 wallclock secs ( 5.92 usr 2.61 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 848 wallclock secs (14.42 usr 10.19 sys + 0.00 cusr 0.00 csys = 0.00 CPU)

View File

@ -0,0 +1,79 @@
Testing server 'MySQL 3.23.25 beta' at 2000-10-13 0:43:02
Testing the speed of inserting data into 1 table and do some selects on it.
The tests are done with a table that has 100000 rows.
Generating random keys
Creating tables
Inserting 100000 rows in order
Inserting 100000 rows in reverse order
Inserting 100000 rows in random order
Time for insert (300000): 110 wallclock secs (19.18 usr 17.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert of duplicates
Time for insert_duplicates (100000): 40 wallclock secs ( 6.20 usr 6.19 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Retrieving data from the table
Time for select_big (10:3000000): 35 wallclock secs (20.45 usr 14.85 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_key (10:3000000): 36 wallclock secs (20.39 usr 14.82 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by (10:3000000): 51 wallclock secs (21.06 usr 22.46 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_diff_key (500:1000): 175 wallclock secs ( 0.24 usr 0.05 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range_prefix (5010:42084): 11 wallclock secs ( 2.81 usr 0.93 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range_key2 (5010:42084): 10 wallclock secs ( 2.78 usr 1.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key_prefix (200000): 146 wallclock secs (76.59 usr 19.98 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key (200000): 141 wallclock secs (74.40 usr 21.54 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key2 (200000): 146 wallclock secs (76.95 usr 20.42 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test of compares with simple ranges
Time for select_range_prefix (20000:43500): 9 wallclock secs ( 3.73 usr 1.36 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range_key2 (20000:43500): 9 wallclock secs ( 3.69 usr 1.36 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_group (111): 41 wallclock secs ( 0.05 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max_on_key (15000): 10 wallclock secs ( 4.68 usr 1.32 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max (60): 23 wallclock secs ( 0.03 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_on_key (100): 38 wallclock secs ( 0.04 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count (100): 53 wallclock secs ( 0.04 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_big (20): 58 wallclock secs ( 0.00 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of keys with functions
Time for update_of_key (50000): 22 wallclock secs ( 2.91 usr 2.54 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for update_of_key_big (501): 19 wallclock secs ( 0.04 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update with key
Time for update_with_key (300000): 139 wallclock secs (23.06 usr 19.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of all rows
Time for update_big (10): 28 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing left outer join
Time for outer_join_on_key (10:10): 42 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for outer_join (10:10): 65 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for outer_join_found (10:10): 60 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for outer_join_not_found (500:10): 38 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing INSERT INTO ... SELECT
Time for insert_select_1_key (1): 5 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for insert_select_2_keys (1): 7 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for drop table(2): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing delete
Time for delete_key (10000): 5 wallclock secs ( 0.68 usr 0.58 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for delete_all (12): 11 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Insert into table with 16 keys and with a primary key with 16 parts
Time for insert_key (100000): 95 wallclock secs ( 8.49 usr 5.48 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of keys
Time for update_of_key (256): 22 wallclock secs ( 0.02 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Deleting rows from the table
Time for delete_big_many_keys (128): 49 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Deleting everything from table
Time for delete_all_many_keys (1): 49 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Inserting 100000 rows with multiple values
Time for multiple_value_insert (100000): 7 wallclock secs ( 2.08 usr 0.05 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for drop table(1): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 1756 wallclock secs (370.65 usr 171.18 sys + 0.00 cusr 0.00 csys = 0.00 CPU)

View File

@ -1,4 +1,4 @@
Testing server 'MySQL 3.23.25 beta' at 2000-09-27 2:59:03
Testing server 'MySQL 3.23.26 gamma' at 2000-10-13 14:20:19
Testing the speed of inserting data into 1 table and do some selects on it.
The tests are done with a table that has 100000 rows.
@ -8,67 +8,72 @@ Creating tables
Inserting 100000 rows in order
Inserting 100000 rows in reverse order
Inserting 100000 rows in random order
Time for insert (300000): 203 wallclock secs (30.05 usr 40.38 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for insert (300000): 221 wallclock secs (30.06 usr 39.92 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing insert of duplicates
Time for insert_duplicates (300000): 59 wallclock secs ( 6.50 usr 10.52 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for insert_duplicates (100000): 59 wallclock secs ( 8.11 usr 13.67 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Retrieving data from the table
Time for select_big (10:3000000): 88 wallclock secs (64.08 usr 24.75 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_key (10:3000000): 89 wallclock secs (63.61 usr 25.09 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by (10:3000000): 99 wallclock secs (63.39 usr 25.81 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_diff_key (500:1000): 123 wallclock secs ( 0.39 usr 0.08 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range_prefix (5010:42084): 15 wallclock secs ( 5.30 usr 1.48 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range_key2 (5010:42084): 16 wallclock secs ( 4.69 usr 1.74 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key_prefix (200000): 198 wallclock secs (91.75 usr 40.53 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key (200000): 193 wallclock secs (92.27 usr 38.89 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key2 (200000): 202 wallclock secs (93.95 usr 37.08 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_big (10:3000000): 89 wallclock secs (63.69 usr 25.58 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by_key (10:3000000): 90 wallclock secs (64.05 usr 25.08 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for order_by (10:3000000): 98 wallclock secs (63.58 usr 25.14 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_diff_key (500:1000): 124 wallclock secs ( 0.41 usr 0.09 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range_prefix (5010:42084): 14 wallclock secs ( 4.47 usr 1.89 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range_key2 (5010:42084): 16 wallclock secs ( 4.64 usr 1.77 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key_prefix (200000): 201 wallclock secs (91.41 usr 40.78 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key (200000): 196 wallclock secs (96.84 usr 36.63 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_key2 (200000): 203 wallclock secs (92.92 usr 39.80 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Test of compares with simple ranges
Time for select_range_prefix (20000:43500): 13 wallclock secs ( 5.44 usr 2.44 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range_key2 (20000:43500): 13 wallclock secs ( 5.33 usr 2.16 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_group (111): 40 wallclock secs ( 0.13 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max_on_key (15000): 14 wallclock secs ( 6.51 usr 2.50 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max (60): 20 wallclock secs ( 0.05 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_on_key (100): 36 wallclock secs ( 0.05 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count (100): 39 wallclock secs ( 0.06 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_big (20): 92 wallclock secs ( 0.05 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range_prefix (20000:43500): 12 wallclock secs ( 5.34 usr 2.47 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range_key2 (20000:43500): 14 wallclock secs ( 5.92 usr 1.95 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_group (111): 36 wallclock secs ( 0.08 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max_on_key (15000): 14 wallclock secs ( 6.45 usr 2.63 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max (60): 18 wallclock secs ( 0.11 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_on_key (100): 36 wallclock secs ( 0.03 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count (100): 34 wallclock secs ( 0.11 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_big (20): 96 wallclock secs ( 0.01 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of keys with functions
Time for update_of_key (500): 62 wallclock secs ( 4.77 usr 6.50 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for update_of_key_big (501): 34 wallclock secs ( 0.08 usr 0.05 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for update_of_key (50000): 56 wallclock secs ( 4.45 usr 7.47 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for update_of_key_big (501): 33 wallclock secs ( 0.06 usr 0.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update with key
Time for update_with_key (100000): 185 wallclock secs (24.97 usr 40.99 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for update_with_key (300000): 188 wallclock secs (25.03 usr 40.83 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of all rows
Time for update_big (500): 64 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for update_big (10): 62 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing left outer join
Time for outer_join_on_key (10:10): 40 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for outer_join (10:10): 120 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for outer_join_found (10:10): 106 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for outer_join_not_found (500:10): 55 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for outer_join (10:10): 118 wallclock secs ( 0.01 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for outer_join_found (10:10): 105 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for outer_join_not_found (500:10): 56 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing INSERT INTO ... SELECT
Time for insert_select_1_key (1): 8 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for insert_select_2_keys (1): 13 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for drop table(2): 0 wallclock secs ( 0.02 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing delete
Time for delete_key (10000): 7 wallclock secs ( 0.97 usr 1.25 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for delete_all (12): 22 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for delete_key (10000): 7 wallclock secs ( 0.97 usr 1.36 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for delete_all (12): 22 wallclock secs ( 0.00 usr 0.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Insert into table with 16 keys and with a primary key with 16 parts
Time for insert_key (100000): 1593 wallclock secs (14.31 usr 14.47 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for insert_key (100000): 1447 wallclock secs (13.78 usr 13.42 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing update of keys
Time for update_of_key (256): 479 wallclock secs ( 0.06 usr 0.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for update_of_key (256): 436 wallclock secs ( 0.01 usr 0.08 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Deleting rows from the table
Time for delete_big_many_keys (128): 1498 wallclock secs ( 0.02 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for delete_big_many_keys (128): 1422 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Deleting everything from table
Time for delete_all_many_keys (1): 1498 wallclock secs ( 0.02 usr 0.01 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for delete_all_many_keys (1): 1422 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Inserting 100000 rows with multiple values
Time for multiple_value_insert (100000): 9 wallclock secs ( 2.51 usr 0.24 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for multiple_value_insert (100000): 9 wallclock secs ( 2.34 usr 0.26 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for drop table(1): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 5829 wallclock secs (581.28 usr 317.09 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 5599 wallclock secs (584.97 usr 320.95 sys + 0.00 cusr 0.00 csys = 0.00 CPU)

View File

@ -0,0 +1,23 @@
Testing server 'MySQL 3.23.25 beta' at 2000-10-13 1:12:21
Testing the speed of selecting on keys that consist of many parts
The test-table has 10000 rows and the test is done with 500 ranges.
Creating table
Inserting 10000 rows
Time to insert (10000): 3 wallclock secs ( 0.72 usr 0.58 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing big selects on the table
Time for select_big (70:17207): 1 wallclock secs ( 0.14 usr 0.09 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range (410:1057904): 269 wallclock secs ( 9.47 usr 5.61 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max_on_key (70000): 178 wallclock secs (20.97 usr 6.44 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_on_key (50000): 414 wallclock secs (15.80 usr 4.56 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_group_on_key_parts (1000:0): 44 wallclock secs ( 1.15 usr 0.58 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing count(distinct) on the table
Time for count_distinct (1000:2000): 94 wallclock secs ( 0.64 usr 0.20 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group_on_key (1000:6000): 48 wallclock secs ( 0.37 usr 0.16 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group_on_key_parts (1000:100000): 69 wallclock secs ( 1.10 usr 0.62 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group (1000:100000): 69 wallclock secs ( 1.13 usr 0.58 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_big (1000:10000000): 793 wallclock secs (79.09 usr 89.49 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 1982 wallclock secs (130.60 usr 108.91 sys + 0.00 cusr 0.00 csys = 0.00 CPU)

View File

@ -1,23 +1,23 @@
Testing server 'MySQL 3.23.25 beta' at 2000-09-27 4:36:14
Testing server 'MySQL 3.23.26 gamma' at 2000-10-13 15:53:40
Testing the speed of selecting on keys that consist of many parts
The test-table has 10000 rows and the test is done with 500 ranges.
Creating table
Inserting 10000 rows
Time to insert (10000): 7 wallclock secs ( 1.25 usr 1.03 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to insert (10000): 7 wallclock secs ( 1.06 usr 1.39 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing big selects on the table
Time for select_big (70:17207): 1 wallclock secs ( 0.44 usr 0.11 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range (410:1057904): 187 wallclock secs (27.56 usr 9.31 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max_on_key (70000): 197 wallclock secs (30.55 usr 11.14 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_on_key (50000): 402 wallclock secs (22.42 usr 8.89 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_big (70:17207): 1 wallclock secs ( 0.38 usr 0.19 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for select_range (410:1057904): 189 wallclock secs (26.94 usr 9.30 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for min_max_on_key (70000): 178 wallclock secs (29.56 usr 11.97 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_on_key (50000): 371 wallclock secs (20.88 usr 9.02 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_group_on_key_parts (1000:0): 47 wallclock secs ( 2.34 usr 0.75 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_group_on_key_parts (1000:0): 41 wallclock secs ( 2.72 usr 0.84 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Testing count(distinct) on the table
Time for count_distinct (1000:2000): 97 wallclock secs ( 0.97 usr 0.36 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group_on_key (1000:6000): 54 wallclock secs ( 0.61 usr 0.23 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group_on_key_parts (1000:100000): 144 wallclock secs ( 2.44 usr 1.28 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group (1000:100000): 144 wallclock secs ( 2.70 usr 0.98 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_big (1000:10000000): 1117 wallclock secs (225.77 usr 83.39 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 2397 wallclock secs (317.05 usr 117.49 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct (1000:2000): 74 wallclock secs ( 0.95 usr 0.28 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group_on_key (1000:6000): 40 wallclock secs ( 0.63 usr 0.27 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group_on_key_parts (1000:100000): 149 wallclock secs ( 2.95 usr 1.06 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_group (1000:100000): 149 wallclock secs ( 2.50 usr 1.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for count_distinct_big (1000:10000000): 1095 wallclock secs (227.86 usr 86.19 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 2294 wallclock secs (316.44 usr 121.50 sys + 0.00 cusr 0.00 csys = 0.00 CPU)

View File

@ -0,0 +1,14 @@
Testing server 'MySQL 3.23.25 beta' at 2000-10-13 1:45:23
Wisconsin benchmark test
Time for create_table (3): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Inserting data
Time to insert (31000): 15 wallclock secs ( 1.91 usr 1.77 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to delete_big (1): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Running actual benchmark
Time for wisc_benchmark (114): 4 wallclock secs ( 1.75 usr 0.93 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 19 wallclock secs ( 3.67 usr 2.69 sys + 0.00 cusr 0.00 csys = 0.00 CPU)

View File

@ -1,14 +1,14 @@
Testing server 'MySQL 3.23.25 beta' at 2000-09-27 5:16:11
Testing server 'MySQL 3.23.26 gamma' at 2000-10-13 16:31:55
Wisconsin benchmark test
Time for create_table (3): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Inserting data
Time to insert (31000): 19 wallclock secs ( 2.39 usr 3.67 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to insert (31000): 19 wallclock secs ( 2.59 usr 4.13 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time to delete_big (1): 0 wallclock secs ( 0.00 usr 0.00 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Running actual benchmark
Time for wisc_benchmark (114): 9 wallclock secs ( 5.80 usr 1.64 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Time for wisc_benchmark (114): 9 wallclock secs ( 5.80 usr 1.47 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 28 wallclock secs ( 8.19 usr 5.31 sys + 0.00 cusr 0.00 csys = 0.00 CPU)
Total time: 28 wallclock secs ( 8.39 usr 5.59 sys + 0.00 cusr 0.00 csys = 0.00 CPU)

View File

@ -39,7 +39,7 @@
# "3-byte int" or "same as xxx".
$version="1.49";
$version="1.50";
use DBI;
use Getopt::Long;
@ -271,8 +271,9 @@ if ($dbh->do("create table crash_q (a integer, b integer,c CHAR(10))"))
report("Alter table alter column default",'alter_alter_col',
"alter table crash_q alter b set default 10",
"alter table crash_q alter b set default NULL");
report("Alter table drop column",'alter_drop_col',
"alter table crash_q drop column b");
report_one("Alter table drop column",'alter_drop_col',
[["alter table crash_q drop column b","yes"],
["alter table crash_q drop column b restrict","with restrict/cascade"]]);
report("Alter table rename table",'alter_rename_table',
"alter table crash_q rename to crash_q1");
}
@ -757,7 +758,7 @@ try_and_report("Automatic rowid", "automatic_rowid",
["COS","cos","cos(0)","1.00000",0],
["COT","cot","cot(1)","0.64209262",0],
["DEGREES","degrees","degrees(6.283185)","360",0],
["EXP","exp","exp(1)","2.718282",0],
["EXP","exp","exp(1.0)","2.718282",0],
["FLOOR","floor","floor(2.5)","2",0],
["LOG","log","log(2)","0.693147",0],
["LOG10","log10","log10(10)","1",0],
@ -1047,7 +1048,11 @@ if ($limits{'functions'} eq 'yes')
print "\n";
report("mixing of integer and float in expression","float_int_expr",
"select 1+1.0 $end_query");
if ($limits{'func_odbc_exp'} eq 'yes')
{
report("No need to cast from integer to float",
"dont_require_cast_to_float", "select exp(1) $end_query");
}
check_and_report("Is 1+NULL = NULL","null_num_expr",
[],"select 1+$numeric_null $end_query",[],undef(),4);
$tmp=sql_concat("'a'",$char_null);
@ -1269,9 +1274,10 @@ report("temporary tables",'tempoary_table',
"create temporary table crash_q (q integer not null)",
"drop table crash_q");
report("create table from select",'create_table_select',
"create table crash_q SELECT * from crash_me",
"drop table crash_q");
report_one("create table from select",'create_table_select',
[["create table crash_q SELECT * from crash_me","yes"],
["create table crash_q AS SELECT * from crash_me","with AS"]]);
$dbh->do("drop table crash_q");
report("index in create table",'index_in_create',
"create table crash_q (q integer not null,index (q))",
@ -1628,9 +1634,9 @@ if (!report("many tables to drop table","multi_drop",
}
report("-- as comment","comment_--",
report("-- as comment (ANSI)","comment_--",
"select * from crash_me -- Testing of comments");
report("// as comment","comment_//",
report("// as comment (ANSI)","comment_//",
"select * from crash_me // Testing of comments");
report("# as comment","comment_#",
"select * from crash_me # Testing of comments");

View File

@ -1,4 +1,4 @@
#This file is automaticly generated by crash-me 1.49
#This file is automaticly generated by crash-me 1.50
NEG=yes # update of column= -column
Need_cast_for_null=no # Need to cast NULL for arithmetic
@ -27,16 +27,16 @@ column_alias=yes # Column alias
columns_in_group_by=+64 # number of columns in group by
columns_in_order_by=+64 # number of columns in order by
comment_#=yes # # as comment
comment_--=yes # -- as comment
comment_--=yes # -- as comment (ANSI)
comment_/**/=yes # /* */ as comment
comment_//=no # // as comment
comment_//=no # // as comment (ANSI)
compute=no # Compute
connections=30 # Simultaneous connections (installation default)
constraint_check=no # Column constraints
constraint_check_table=no # Table constraints
constraint_null=yes # NULL constraint (SyBase style)
crash_me_safe=no # crash me safe
crash_me_version=1.49 # crash me version
crash_me_safe=yes # crash me safe
crash_me_version=1.50 # crash me version
create_default=yes # default value for column
create_default_func=no # default value function for column
create_if_not_exists=yes # create table if not exists
@ -51,6 +51,7 @@ date_one=yes # Supports 0001-01-01 dates
date_with_YY=yes # Supports YY-MM-DD 2000 compilant dates
date_zero=yes # Supports 0000-00-00 dates
domains=no # Domains (ANSI SQL)
dont_require_cast_to_float=yes # No need to cast from integer to float
double_quotes=yes # Double '' as ' in strings
drop_if_exists=yes # drop table if exists
drop_index=with 'ON' # drop index

View File

@ -1,4 +1,4 @@
#This file is automaticly generated by crash-me 1.49
#This file is automaticly generated by crash-me 1.50
NEG=yes # update of column= -column
Need_cast_for_null=no # Need to cast NULL for arithmetic
@ -27,16 +27,16 @@ column_alias=yes # Column alias
columns_in_group_by=+64 # number of columns in group by
columns_in_order_by=+64 # number of columns in order by
comment_#=yes # # as comment
comment_--=yes # -- as comment
comment_--=yes # -- as comment (ANSI)
comment_/**/=yes # /* */ as comment
comment_//=no # // as comment
comment_//=no # // as comment (ANSI)
compute=no # Compute
connections=30 # Simultaneous connections (installation default)
constraint_check=no # Column constraints
constraint_check_table=no # Table constraints
constraint_null=yes # NULL constraint (SyBase style)
crash_me_safe=no # crash me safe
crash_me_version=1.49 # crash me version
crash_me_safe=yes # crash me safe
crash_me_version=1.50 # crash me version
create_default=yes # default value for column
create_default_func=no # default value function for column
create_if_not_exists=yes # create table if not exists
@ -51,6 +51,7 @@ date_one=yes # Supports 0001-01-01 dates
date_with_YY=yes # Supports YY-MM-DD 2000 compilant dates
date_zero=yes # Supports 0000-00-00 dates
domains=no # Domains (ANSI SQL)
dont_require_cast_to_float=yes # No need to cast from integer to float
double_quotes=yes # Double '' as ' in strings
drop_if_exists=yes # drop table if exists
drop_index=with 'ON' # drop index

View File

@ -161,7 +161,7 @@ print_match("Order by and group by","order|having|group");
print_match("Join methods",'join|subqueries|multi_table|select_table_update');
print_match("String handling","string|select_constant|quote_with|double_quotes|end_space");
print_match("Quoting","quote");
print_match("Name limits","name");
print_match("Name limits","name","alter");
print_match("Index limits",'index|primary|unique');
print_match("Type limits",'char|float|binary|text_size|date|end_space');
print_match("Expression limits",'expression|conditions|select_limit');

View File

@ -901,6 +901,16 @@ if ($limits->{'insert_select'})
$end_time=new Benchmark;
print "Time for drop table(2): " .
timestr(timediff($end_time, $loop_time),"all") . "\n";
if ($opt_fast && defined($server->{vacuum}))
{
$server->vacuum(1,\$dbh);
}
if ($server->small_rollback_segment())
{
$dbh->disconnect; # close connection
$dbh = $server->connect();
}
}