1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
--source include/have_innodb.inc
select @@innodb_buffer_pool_size;
--disable_query_log
--disable_result_log
# --source $MYSQL_TEST_DIR/std_data/cars.inc
let no_vehicles = `select count(*)=0 from information_schema.tables where TABLE_NAME = 'vehicle_reg'`;
--if ($no_vehicles) {
--echo generating vehicle_reg from fixture, rerun with --start-dirty
CREATE TABLE vehicle_reg (
_id int DEFAULT NULL,
RegistrationCategory varchar(64) DEFAULT NULL,
RegistrationTerm int DEFAULT NULL,
PurposeofUse varchar(64) DEFAULT NULL,
BodyShape varchar(64) DEFAULT NULL,
YearofManufacture int DEFAULT NULL,
Make varchar(64) DEFAULT NULL,
Model varchar(64) DEFAULT NULL,
Colour varchar(64) DEFAULT NULL,
FuelType varchar(64) DEFAULT NULL,
NumberofCylinders int DEFAULT NULL,
NumberofSeats int DEFAULT NULL,
ATMWeight varchar(64) DEFAULT NULL,
GCMWeight varchar(64) DEFAULT NULL,
GTMWeight varchar(64) DEFAULT NULL,
GVMWeight varchar(64) DEFAULT NULL,
TAREWeight varchar(64) DEFAULT NULL,
VINPrefix varchar(64) DEFAULT NULL
) engine=innodb;
# vehicle_reg - Japan auto table, 765628 rows
let $MYSQLD_DATADIR= `select @@datadir`;
ALTER TABLE vehicle_reg DISCARD TABLESPACE;
--copy_file std_data/vehicle_reg.ibd $MYSQLD_DATADIR/test/vehicle_reg.ibd
--copy_file std_data/vehicle_reg.cfg $MYSQLD_DATADIR/test/vehicle_reg.cfg
ALTER TABLE vehicle_reg IMPORT TABLESPACE;
--let t1=`select UNIX_TIMESTAMP()`
ALTER TABLE vehicle_reg FORCE;
--let tdiff=`select UNIX_TIMESTAMP() - $t1`
--echo ALTER TABLE took $tdiff s
--}
# Yeah, no "else", brothers
--if (!$no_vehicles) {
create or replace temporary table counters (
pk_value int,
counter int,
primary key (pk_value)
) engine=myisam;
--let $i= 5
--echo i=$i
--let $method=bernoulli
--let percent=1
--echo method=$method $percent%
--while($i)
eval
INSERT INTO counters
SELECT _id, 0 FROM vehicle_reg tablesample $method($percent)
ON DUPLICATE KEY UPDATE counter = counter + 1
;
--dec $i
--}
--enable_query_log
--enable_result_log
select pk_value div 10000, sum(counter) from counters group by pk_value div 10000;
--}
|