-- source include/have_query_cache.inc let $long_output= 0; let $ENGINE=MyISAM; let $nb_rows=122880; #let $nb_rows= 98304; #let $nb_rows= 81920; #let $nb_rows= 65536; #let $nb_rows= 4096; let $keylen= 1000; let $nb_of_table= 1; SET sort_buffer_size = 5000*1024*1024; eval SET max_sort_length = $keylen; # Fills the query cache with data. # $nb_rows gives number of rows (records) of the table. # $nb_tables with values of 15 to 20 or less depending of length of key buffer. SHOW VARIABLES LIKE '%sort%'; let $nb_of_table_sel = $nb_of_table; while ($nb_of_table) { if ($long_output) { --disable_query_log } eval CREATE TABLE t$nb_of_table ( c1 varbinary($keylen), c2 varbinary($keylen), c3 varbinary($keylen), c4 varbinary($keylen), c5 varbinary($keylen), c6 varbinary($keylen), c7 varbinary($keylen), c8 varbinary($keylen), c9 varbinary($keylen), c10 varbinary($keylen), c11 varbinary($keylen), c12 varbinary($keylen), c13 varbinary($keylen), c14 varbinary($keylen), c15 varbinary($keylen), c16 varbinary($keylen), c17 varbinary($keylen), c18 varbinary($keylen), c19 varbinary($keylen), c20 varbinary($keylen), c21 varbinary($keylen), c22 varbinary($keylen), c23 varbinary($keylen), c24 varbinary($keylen), c25 varbinary($keylen), c26 varbinary($keylen), c27 varbinary($keylen), c28 varbinary($keylen), c29 varbinary($keylen), c30 varbinary($keylen), c31 varbinary($keylen), c32 varbinary($keylen), c33 varbinary($keylen), c34 varbinary($keylen), c35 varbinary($keylen), c36 varbinary($keylen), c37 varbinary($keylen), c38 varbinary($keylen), c39 varbinary($keylen), c40 varbinary($keylen), c41 varbinary($keylen), c42 varbinary($keylen), c43 varbinary($keylen), c44 varbinary($keylen), c45 varbinary($keylen), c46 varbinary($keylen), c47 varbinary($keylen), c48 varbinary($keylen), c49 varbinary($keylen), c50 varbinary($keylen), c51 varbinary($keylen), c52 varbinary($keylen), c53 varbinary($keylen), c54 varbinary($keylen), c55 varbinary($keylen), c56 varbinary($keylen), c57 varbinary($keylen), c58 varbinary($keylen), c59 varbinary($keylen), c60 varbinary($keylen), c61 varbinary($keylen), c62 varbinary($keylen), c63 varbinary($keylen), c64 varbinary($keylen) ) ENGINE=$engine; DELIMITER |; eval CREATE PROCEDURE fill_t$nb_of_table (IN nb_rows int) BEGIN DECLARE i int DEFAULT 1; REPEAT INSERT INTO t$nb_of_table VALUES ( repeat(char(hex('0101')+i),$keylen/4), repeat(char(hex('0202')+i),$keylen/4), repeat(char(hex('0303')+i),$keylen/4), repeat(char(hex('0404')+i),$keylen/4), repeat(char(hex('0505')+i),$keylen/4), repeat(char(hex('0606')+i),$keylen/4), repeat(char(hex('0707')+i),$keylen/4), repeat(char(hex('0808')+i),$keylen/4), repeat(char(hex('0909')+i),$keylen/4), repeat(char(hex('1010')+i),$keylen/4), repeat(char(hex('1111')+i),$keylen/4), repeat(char(hex('1212')+i),$keylen/4), repeat(char(hex('1313')+i),$keylen/4), repeat(char(hex('1414')+i),$keylen/4), repeat(char(hex('1515')+i),$keylen/4), repeat(char(hex('1616')+i),$keylen/4), repeat(char(hex('1717')+i),$keylen/4), repeat(char(hex('1818')+i),$keylen/4), repeat(char(hex('1919')+i),$keylen/4), repeat(char(hex('2020')+i),$keylen/4), repeat(char(hex('2121')+i),$keylen/4), repeat(char(hex('2222')+i),$keylen/4), repeat(char(hex('2323')+i),$keylen/4), repeat(char(hex('2424')+i),$keylen/4), repeat(char(hex('2525')+i),$keylen/4), repeat(char(hex('2626')+i),$keylen/4), repeat(char(hex('2727')+i),$keylen/4), repeat(char(hex('2828')+i),$keylen/4), repeat(char(hex('2929')+i),$keylen/4), repeat(char(hex('3030')+i),$keylen/4), repeat(char(hex('3131')+i),$keylen/4), repeat(char(hex('3232')+i),$keylen/4), repeat(char(hex('3333')+i),$keylen/4), repeat(char(hex('3434')+i),$keylen/4), repeat(char(hex('3535')+i),$keylen/4), repeat(char(hex('3636')+i),$keylen/4), repeat(char(hex('3737')+i),$keylen/4), repeat(char(hex('3838')+i),$keylen/4), repeat(char(hex('3939')+i),$keylen/4), repeat(char(hex('4040')+i),$keylen/4), repeat(char(hex('4141')+i),$keylen/4), repeat(char(hex('4242')+i),$keylen/4), repeat(char(hex('4343')+i),$keylen/4), repeat(char(hex('4444')+i),$keylen/4), repeat(char(hex('4545')+i),$keylen/4), repeat(char(hex('4646')+i),$keylen/4), repeat(char(hex('4747')+i),$keylen/4), repeat(char(hex('4848')+i),$keylen/4), repeat(char(hex('4949')+i),$keylen/4), repeat(char(hex('5050')+i),$keylen/4), repeat(char(hex('5151')+i),$keylen/4), repeat(char(hex('5252')+i),$keylen/4), repeat(char(hex('5353')+i),$keylen/4), repeat(char(hex('5454')+i),$keylen/4), repeat(char(hex('5555')+i),$keylen/4), repeat(char(hex('5656')+i),$keylen/4), repeat(char(hex('5757')+i),$keylen/4), repeat(char(hex('5858')+i),$keylen/4), repeat(char(hex('5959')+i),$keylen/4), repeat(char(hex('6060')+i),$keylen/4), repeat(char(hex('6161')+i),$keylen/4), repeat(char(hex('6262')+i),$keylen/4), repeat(char(hex('6363')+i),$keylen/4), repeat(char(hex('6464')+i),$keylen/4) ); set i = i+1; UNTIL i>= nb_rows+1 END REPEAT; END;| DELIMITER ;| eval CALL fill_t$nb_of_table ($nb_rows); dec $nb_of_table; } if ($long_output) { --enable_query_log } while ($nb_of_table_sel) { if ($long_output) { --enable_query_log } SHOW STATUS LIKE 'Sort%'; --disable_query_log --disable_result_log eval SELECT * FROM t$nb_of_table_sel ORDER BY c49,c48,c39,c38,c29,c28,c19,c18,c9,c8, c47,c46,c37,c36,c27,c26,c17,c16,c7,c6, c45,c44,c35,c34,c25,c24,c15,c14,c5,c4, c43,c42,c33,c32,c23,c22,c13,c12,c3,c2 LIMIT 1; --enable_query_log --enable_result_log SHOW STATUS LIKE 'Sort%'; dec $nb_of_table_sel; --sleep 2 }