mirror of
https://github.com/percona/percona-toolkit.git
synced 2026-04-26 01:02:25 +08:00
Finish updating resume.t to handle OobNibbleIterator.
This commit is contained in:
+43
-13
@@ -3552,20 +3552,30 @@ sub new {
|
||||
my $from = $q->quote(@{$tbl}{qw(db tbl)}) . " FORCE INDEX(`$index`)";
|
||||
my $order_by = join(', ', map {$q->quote($_)} @{$index_cols});
|
||||
|
||||
my $first_lb_where = $where ? "($where)" : '';
|
||||
if ( $args{resume} ) {
|
||||
$first_lb_where .= ($where ? " AND " : '') . $asc->{boundaries}->{'>'};
|
||||
}
|
||||
my $first_lb_sql
|
||||
= "SELECT /*!40001 SQL_NO_CACHE */ "
|
||||
. join(', ', map { $q->quote($_) } @{$asc->{scols}})
|
||||
. " FROM $from"
|
||||
. ($first_lb_where ? " WHERE $first_lb_where" : '')
|
||||
. ($where ? " WHERE $where" : '')
|
||||
. " ORDER BY $order_by"
|
||||
. " LIMIT 1"
|
||||
. " /*first lower boundary*/";
|
||||
MKDEBUG && _d('First lower boundary statement:', $first_lb_sql);
|
||||
|
||||
my $resume_lb_sql;
|
||||
if ( $args{resume} ) {
|
||||
$resume_lb_sql
|
||||
= "SELECT /*!40001 SQL_NO_CACHE */ "
|
||||
. join(', ', map { $q->quote($_) } @{$asc->{scols}})
|
||||
. " FROM $from"
|
||||
. " WHERE " . $asc->{boundaries}->{'>'}
|
||||
. ($where ? " AND ($where)" : '')
|
||||
. " ORDER BY $order_by"
|
||||
. " LIMIT 1"
|
||||
. " /*resume lower boundary*/";
|
||||
MKDEBUG && _d('Resume lower boundary statement:', $resume_lb_sql);
|
||||
}
|
||||
|
||||
my $last_ub_sql
|
||||
= "SELECT /*!40001 SQL_NO_CACHE */ "
|
||||
. join(', ', map { $q->quote($_) } @{$asc->{scols}})
|
||||
@@ -3626,6 +3636,7 @@ sub new {
|
||||
explain_ub_sql => "EXPLAIN $ub_sql",
|
||||
explain_nibble_sql => $explain_nibble_sql,
|
||||
resume => $args{resume},
|
||||
resume_lb_sql => $resume_lb_sql,
|
||||
sql => {
|
||||
columns => $asc->{scols},
|
||||
from => $from,
|
||||
@@ -3930,19 +3941,27 @@ sub _get_bounds {
|
||||
|
||||
my $dbh = $self->{Cxn}->dbh();
|
||||
|
||||
$self->{first_lower} = $dbh->selectrow_arrayref($self->{first_lb_sql});
|
||||
MKDEBUG && _d('First lower boundary:', Dumper($self->{first_lower}));
|
||||
|
||||
if ( my $nibble = $self->{resume} ) {
|
||||
my $sth = $dbh->prepare($self->{first_lb_sql});
|
||||
if ( defined $nibble->{upper_boundary} ) {
|
||||
my $sth = $dbh->prepare($self->{resume_lb_sql});
|
||||
my @ub = split ',', $nibble->{upper_boundary};
|
||||
MKDEBUG && _d($sth->{Statement}, 'params:', @ub);
|
||||
$sth->execute(@ub);
|
||||
$self->{first_lower} = $sth->fetchrow_arrayref();
|
||||
$self->{next_lower} = $sth->fetchrow_arrayref();
|
||||
$sth->finish();
|
||||
}
|
||||
else {
|
||||
$self->{first_lower} = $dbh->selectrow_arrayref($self->{first_lb_sql});
|
||||
MKDEBUG && _d('No more boundaries to resume');
|
||||
$self->{no_more_boundaries} = 1;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$self->{next_lower} = $self->{first_lower};
|
||||
MKDEBUG && _d('First lower boundary:', Dumper($self->{next_lower}));
|
||||
}
|
||||
MKDEBUG && _d('Next lower boundary:', Dumper($self->{next_lower}));
|
||||
|
||||
$self->{last_upper} = $dbh->selectrow_arrayref($self->{last_ub_sql});
|
||||
MKDEBUG && _d('Last upper boundary:', Dumper($self->{last_upper}));
|
||||
@@ -4152,7 +4171,18 @@ sub new {
|
||||
$self->{past_upper_sql} = $past_upper_sql;
|
||||
$self->{explain_past_lower_sql} = $explain_past_lower_sql;
|
||||
$self->{explain_past_upper_sql} = $explain_past_upper_sql;
|
||||
$self->{past_nibbles} = [qw(lower upper)]; # what we nibble
|
||||
|
||||
my @past_nibbles = qw(lower upper);
|
||||
if ( my $nibble = $args{resume} ) {
|
||||
if ( !defined $nibble->{lower_boundary} ) {
|
||||
$self->{past_nibbles} = [qw(upper)];
|
||||
}
|
||||
elsif ( !defined $nibble->{upper_boundary} ) {
|
||||
$self->{past_nibbles} = [];
|
||||
}
|
||||
}
|
||||
MKDEBUG && _d('Nibble past', @past_nibbles);
|
||||
$self->{past_nibbles} = \@past_nibbles,
|
||||
}
|
||||
|
||||
return bless $self, $class;
|
||||
@@ -4177,7 +4207,7 @@ sub statements {
|
||||
|
||||
sub _prepare_sths {
|
||||
my ($self) = @_;
|
||||
MKDEBUG && _d('Preparing boundless statement handles');
|
||||
MKDEBUG && _d('Preparing out-of-bound statement handles');
|
||||
|
||||
if ( !$self->{one_nibble} ) {
|
||||
my $dbh = $self->{Cxn}->dbh();
|
||||
@@ -6288,8 +6318,8 @@ sub main {
|
||||
# --explain level 2: print chunk,lower boundary values,upper
|
||||
# boundary values.
|
||||
if ( $o->get('explain') > 1 ) {
|
||||
my $lb_quoted = join(',', @{$boundary->{lower}});
|
||||
my $ub_quoted = join(',', @{$boundary->{upper}});
|
||||
my $lb_quoted = join(',', @{$boundary->{lower} || []});
|
||||
my $ub_quoted = join(',', @{$boundary->{upper} || []});
|
||||
my $chunk = $nibble_iter->nibble_number();
|
||||
printf "%d %s %s\n",
|
||||
$chunk,
|
||||
|
||||
+107
-44
@@ -29,7 +29,7 @@ elsif ( !$slave1_dbh ) {
|
||||
plan skip_all => 'Cannot connect to sandbox slave';
|
||||
}
|
||||
else {
|
||||
plan tests => 21;
|
||||
plan tests => 33;
|
||||
}
|
||||
|
||||
# The sandbox servers run with lock_wait_timeout=3 and it's not dynamic
|
||||
@@ -132,7 +132,6 @@ is_deeply(
|
||||
|
||||
$output = output(
|
||||
sub { pt_table_checksum::main(@args, qw(-d sakila --resume)) },
|
||||
trf => sub { return PerconaTest::normalize_checksum_results(@_) },
|
||||
);
|
||||
|
||||
$row = $master_dbh->selectall_arrayref('select db, tbl from percona.checksums order by db, tbl');
|
||||
@@ -142,27 +141,31 @@ is_deeply(
|
||||
"Resume finished sakila"
|
||||
);
|
||||
|
||||
# XXX This may not be a stable test if your machine isn't fast enough
|
||||
# to do these remaining tables as single chunks.
|
||||
is(
|
||||
$output,
|
||||
"ERRORS DIFFS ROWS CHUNKS SKIPPED TABLE
|
||||
0 0 109 1 0 sakila.country
|
||||
0 0 599 1 0 sakila.customer
|
||||
0 0 1000 1 0 sakila.film
|
||||
0 0 5462 1 0 sakila.film_actor
|
||||
0 0 1000 1 0 sakila.film_category
|
||||
0 0 1000 1 0 sakila.film_text
|
||||
0 0 4581 1 0 sakila.inventory
|
||||
0 0 6 1 0 sakila.language
|
||||
0 0 16049 1 0 sakila.payment
|
||||
0 0 16044 1 0 sakila.rental
|
||||
0 0 2 1 0 sakila.staff
|
||||
0 0 2 1 0 sakila.store
|
||||
",
|
||||
my (undef, $first_tbl) = split /\n/, $output;
|
||||
like(
|
||||
$first_tbl,
|
||||
qr/sakila.country$/,
|
||||
"Resumed from next table"
|
||||
);
|
||||
|
||||
is(
|
||||
PerconaTest::count_checksum_results($output, 'errors'),
|
||||
0,
|
||||
"Resumed 0 errors"
|
||||
);
|
||||
|
||||
is(
|
||||
PerconaTest::count_checksum_results($output, 'diffs'),
|
||||
0,
|
||||
"Resumed 0 diffs"
|
||||
);
|
||||
|
||||
is(
|
||||
PerconaTest::count_checksum_results($output, 'rows'),
|
||||
45_854,
|
||||
"Resumed 45,854 rows"
|
||||
);
|
||||
|
||||
# ############################################################################
|
||||
# Resume from the middle of a table that was being chunked.
|
||||
# ############################################################################
|
||||
@@ -183,6 +186,8 @@ my $first_half = [
|
||||
[qw(sakila film_actor 4 1000 )],
|
||||
[qw(sakila film_actor 5 1000 )],
|
||||
[qw(sakila film_actor 6 462 )],
|
||||
[qw(sakila film_actor 7 0 )], # lower oob
|
||||
[qw(sakila film_actor 8 0 )], # upper oob
|
||||
[qw(sakila film_category 1 1000 )],
|
||||
[qw(sakila film_text 1 1000 )],
|
||||
[qw(sakila inventory 1 1000 )],
|
||||
@@ -190,6 +195,8 @@ my $first_half = [
|
||||
[qw(sakila inventory 3 1000 )],
|
||||
[qw(sakila inventory 4 1000 )],
|
||||
[qw(sakila inventory 5 581 )],
|
||||
[qw(sakila inventory 6 0 )], # lower oob
|
||||
[qw(sakila inventory 7 0 )], # upper oob
|
||||
[qw(sakila language 1 6 )],
|
||||
[qw(sakila payment 1 1000 )],
|
||||
[qw(sakila payment 2 1000 )],
|
||||
@@ -210,6 +217,8 @@ my $second_half = [
|
||||
[qw(sakila payment 15 1000 )],
|
||||
[qw(sakila payment 16 1000 )],
|
||||
[qw(sakila payment 17 49 )],
|
||||
[qw(sakila payment 18 0 )], # lower oob
|
||||
[qw(sakila payment 19 0 )], # upper oob
|
||||
[qw(sakila rental 1 1000 )],
|
||||
[qw(sakila rental 2 1000 )],
|
||||
[qw(sakila rental 3 1000 )],
|
||||
@@ -227,6 +236,8 @@ my $second_half = [
|
||||
[qw(sakila rental 15 1000 )],
|
||||
[qw(sakila rental 16 1000 )],
|
||||
[qw(sakila rental 17 44 )],
|
||||
[qw(sakila rental 18 0 )], # lower oob
|
||||
[qw(sakila rental 19 0 )], # upper oob
|
||||
[qw(sakila staff 1 2 )],
|
||||
[qw(sakila store 1 2 )],
|
||||
];
|
||||
@@ -241,7 +252,6 @@ is_deeply(
|
||||
$output = output(
|
||||
sub { pt_table_checksum::main(@args, qw(-d sakila --resume),
|
||||
qw(--chunk-time 0)) },
|
||||
trf => sub { return PerconaTest::normalize_checksum_results(@_) },
|
||||
);
|
||||
|
||||
$row = $master_dbh->selectall_arrayref('select db, tbl, chunk, master_cnt from percona.checksums order by db, tbl');
|
||||
@@ -254,18 +264,43 @@ is_deeply(
|
||||
"Resume finished sakila"
|
||||
);
|
||||
|
||||
is(
|
||||
(undef, undef, $first_tbl) = split /\n/, $output;
|
||||
like(
|
||||
$first_tbl,
|
||||
qr/sakila.payment$/,
|
||||
"Resumed from sakila.payment"
|
||||
);
|
||||
|
||||
like(
|
||||
$output,
|
||||
"Resuming from sakila.payment chunk 7, timestamp 2011-10-15 13:00:28
|
||||
ERRORS DIFFS ROWS CHUNKS SKIPPED TABLE
|
||||
0 0 9049 10 0 sakila.payment
|
||||
0 0 16044 17 0 sakila.rental
|
||||
0 0 2 1 0 sakila.staff
|
||||
0 0 2 1 0 sakila.store
|
||||
",
|
||||
qr/^Resuming from sakila.payment chunk 7, timestamp 2011-10-15 13:00:28\n/,
|
||||
"Resumed from sakila.payment chunk 7"
|
||||
);
|
||||
|
||||
is(
|
||||
PerconaTest::count_checksum_results($output, 'errors'),
|
||||
0,
|
||||
"Resumed 0 errors"
|
||||
);
|
||||
|
||||
is(
|
||||
PerconaTest::count_checksum_results($output, 'diffs'),
|
||||
0,
|
||||
"Resumed 0 diffs"
|
||||
);
|
||||
|
||||
is(
|
||||
PerconaTest::count_checksum_results($output, 'skipped'),
|
||||
0,
|
||||
"Resumed 0 skipped"
|
||||
);
|
||||
|
||||
is(
|
||||
PerconaTest::count_checksum_results($output, 'rows'),
|
||||
25_097,
|
||||
"Resumed 25,097 rows"
|
||||
);
|
||||
|
||||
# ############################################################################
|
||||
# Resume from the end of a finished table that was being chunked.
|
||||
# ############################################################################
|
||||
@@ -287,6 +322,8 @@ is_deeply(
|
||||
[qw(sakila payment 15 1000 )],
|
||||
[qw(sakila payment 16 1000 )],
|
||||
[qw(sakila payment 17 49 )],
|
||||
[qw(sakila payment 18 0 )], # lower oob
|
||||
[qw(sakila payment 19 0 )], # upper oob
|
||||
],
|
||||
"Checksum results through sakila.payment"
|
||||
);
|
||||
@@ -294,7 +331,6 @@ is_deeply(
|
||||
$output = output(
|
||||
sub { pt_table_checksum::main(@args, qw(-d sakila --resume),
|
||||
qw(--chunk-time 0)) },
|
||||
trf => sub { return PerconaTest::normalize_checksum_results(@_) },
|
||||
);
|
||||
|
||||
$row = $master_dbh->selectall_arrayref('select db, tbl, chunk, master_cnt from percona.checksums order by db, tbl');
|
||||
@@ -307,14 +343,35 @@ is_deeply(
|
||||
"Resume finished sakila"
|
||||
);
|
||||
|
||||
(undef, $first_tbl) = split /\n/, $output;
|
||||
like(
|
||||
$first_tbl,
|
||||
qr/sakila.rental$/,
|
||||
"Resumed from sakila.rental"
|
||||
);
|
||||
|
||||
is(
|
||||
$output,
|
||||
"ERRORS DIFFS ROWS CHUNKS SKIPPED TABLE
|
||||
0 0 16044 17 0 sakila.rental
|
||||
0 0 2 1 0 sakila.staff
|
||||
0 0 2 1 0 sakila.store
|
||||
",
|
||||
"Resumed from end of sakila.payment"
|
||||
PerconaTest::count_checksum_results($output, 'errors'),
|
||||
0,
|
||||
"Resumed 0 errors"
|
||||
);
|
||||
|
||||
is(
|
||||
PerconaTest::count_checksum_results($output, 'diffs'),
|
||||
0,
|
||||
"Resumed 0 diffs"
|
||||
);
|
||||
|
||||
is(
|
||||
PerconaTest::count_checksum_results($output, 'skipped'),
|
||||
0,
|
||||
"Resumed 0 skipped"
|
||||
);
|
||||
|
||||
is(
|
||||
PerconaTest::count_checksum_results($output, 'rows'),
|
||||
16_048,
|
||||
"Resumed 16,048 rows"
|
||||
);
|
||||
|
||||
# ############################################################################
|
||||
@@ -384,7 +441,7 @@ is(
|
||||
$output,
|
||||
"Resuming from sakila.rental chunk 11, timestamp 2011-10-15 13:00:49
|
||||
ERRORS DIFFS ROWS CHUNKS SKIPPED TABLE
|
||||
0 0 5044 6 0 sakila.rental
|
||||
0 0 5044 8 0 sakila.rental
|
||||
0 0 2 1 0 sakila.staff
|
||||
0 0 2 1 0 sakila.store
|
||||
",
|
||||
@@ -407,9 +464,9 @@ ok(
|
||||
# Resume with --ignore-table.
|
||||
# ############################################################################
|
||||
$sb->load_file('master', "t/pt-table-checksum/samples/3tbl-resume.sql");
|
||||
load_data_infile("3tbl-resume", "ts='2011-11-08 00:00:18'");
|
||||
load_data_infile("3tbl-resume", "ts='2011-11-08 00:00:24'");
|
||||
|
||||
$master_dbh->do("delete from percona.checksums where ts > '2011-11-08 00:00:09'");
|
||||
$master_dbh->do("delete from percona.checksums where ts > '2011-11-08 00:00:11'");
|
||||
my $before = $master_dbh->selectall_arrayref("select db, tbl, chunk, ts from percona.checksums where tbl='t1' or tbl='t2' order by db, tbl");
|
||||
is_deeply(
|
||||
$before,
|
||||
@@ -420,9 +477,11 @@ is_deeply(
|
||||
[qw( test t1 4 ), '2011-11-08 00:00:04'],
|
||||
[qw( test t1 5 ), '2011-11-08 00:00:05'],
|
||||
[qw( test t1 6 ), '2011-11-08 00:00:06'],
|
||||
[qw( test t2 1 ), '2011-11-08 00:00:07'],
|
||||
[qw( test t2 2 ), '2011-11-08 00:00:08'],
|
||||
[qw( test t2 3 ), '2011-11-08 00:00:09'],
|
||||
[qw( test t1 7 ), '2011-11-08 00:00:07'], # lower oob
|
||||
[qw( test t1 8 ), '2011-11-08 00:00:08'], # upper oob
|
||||
[qw( test t2 1 ), '2011-11-08 00:00:09'],
|
||||
[qw( test t2 2 ), '2011-11-08 00:00:10'],
|
||||
[qw( test t2 3 ), '2011-11-08 00:00:11'],
|
||||
],
|
||||
"Checksum results through tbl2 chunk 3"
|
||||
);
|
||||
@@ -436,7 +495,7 @@ $output = output(
|
||||
is(
|
||||
$output,
|
||||
"ERRORS DIFFS ROWS CHUNKS SKIPPED TABLE
|
||||
0 0 26 6 0 test.t3
|
||||
0 0 26 8 0 test.t3
|
||||
",
|
||||
"Resumed from t3"
|
||||
);
|
||||
@@ -451,6 +510,8 @@ is_deeply(
|
||||
[qw( test t1 4 )],
|
||||
[qw( test t1 5 )],
|
||||
[qw( test t1 6 )],
|
||||
[qw( test t1 7 )],
|
||||
[qw( test t1 8 )],
|
||||
[qw( test t2 1 )],
|
||||
[qw( test t2 2 )],
|
||||
[qw( test t2 3 )],
|
||||
@@ -461,6 +522,8 @@ is_deeply(
|
||||
[qw( test t3 4 )],
|
||||
[qw( test t3 5 )],
|
||||
[qw( test t3 6 )],
|
||||
[qw( test t3 7 )],
|
||||
[qw( test t3 8 )],
|
||||
],
|
||||
"--resume and --ignore-table"
|
||||
);
|
||||
|
||||
@@ -4,15 +4,21 @@ test t1 3 0.000890 PRIMARY 11 15 28b300ce 5 28b300ce 5 2011-11-08 00:00:03
|
||||
test t1 4 0.000874 PRIMARY 16 20 b6ccc8e2 5 b6ccc8e2 5 2011-11-08 00:00:04
|
||||
test t1 5 0.000915 PRIMARY 21 25 c0099243 5 c0099243 5 2011-11-08 00:00:05
|
||||
test t1 6 0.001000 PRIMARY 26 26 55f99957 1 55f99957 1 2011-11-08 00:00:06
|
||||
test t2 1 0.000983 PRIMARY 1 5 5ef4701a 5 5ef4701a 5 2011-11-08 00:00:07
|
||||
test t2 2 0.000734 PRIMARY 6 10 5e765a6f 5 5e765a6f 5 2011-11-08 00:00:08
|
||||
test t2 3 0.000938 PRIMARY 11 15 28b300ce 5 28b300ce 5 2011-11-08 00:00:09
|
||||
test t2 4 0.000889 PRIMARY 16 20 b6ccc8e2 5 b6ccc8e2 5 2011-11-08 00:00:10
|
||||
test t2 5 0.000916 PRIMARY 21 25 c0099243 5 c0099243 5 2011-11-08 00:00:11
|
||||
test t2 6 0.000908 PRIMARY 26 26 55f99957 1 55f99957 1 2011-11-08 00:00:12
|
||||
test t3 1 0.000920 PRIMARY 1 5 5ef4701a 5 5ef4701a 5 2011-11-08 00:00:13
|
||||
test t3 2 0.000880 PRIMARY 6 10 5e765a6f 5 5e765a6f 5 2011-11-08 00:00:14
|
||||
test t3 3 0.002164 PRIMARY 11 15 28b300ce 5 28b300ce 5 2011-11-08 00:00:15
|
||||
test t3 4 0.000957 PRIMARY 16 20 b6ccc8e2 5 b6ccc8e2 5 2011-11-08 00:00:16
|
||||
test t3 5 0.000708 PRIMARY 21 25 c0099243 5 c0099243 5 2011-11-08 00:00:17
|
||||
test t3 6 0.000834 PRIMARY 26 26 55f99957 1 55f99957 1 2011-11-08 00:00:18
|
||||
test t1 7 0.000789 PRIMARY \N 1 0 0 0 0 2011-11-08 00:00:07
|
||||
test t1 8 0.000826 PRIMARY 26 \N 0 0 0 0 2011-11-08 00:00:08
|
||||
test t2 1 0.000983 PRIMARY 1 5 5ef4701a 5 5ef4701a 5 2011-11-08 00:00:09
|
||||
test t2 2 0.000734 PRIMARY 6 10 5e765a6f 5 5e765a6f 5 2011-11-08 00:00:10
|
||||
test t2 3 0.000938 PRIMARY 11 15 28b300ce 5 28b300ce 5 2011-11-08 00:00:11
|
||||
test t2 4 0.000889 PRIMARY 16 20 b6ccc8e2 5 b6ccc8e2 5 2011-11-08 00:00:12
|
||||
test t2 5 0.000916 PRIMARY 21 25 c0099243 5 c0099243 5 2011-11-08 00:00:13
|
||||
test t2 6 0.000908 PRIMARY 26 26 55f99957 1 55f99957 1 2011-11-08 00:00:14
|
||||
test t2 7 0.000662 PRIMARY \N 1 0 0 0 0 2011-11-08 00:00:15
|
||||
test t2 8 0.000855 PRIMARY 26 \N 0 0 0 0 2011-11-08 00:00:16
|
||||
test t3 1 0.000920 PRIMARY 1 5 5ef4701a 5 5ef4701a 5 2011-11-08 00:00:17
|
||||
test t3 2 0.000880 PRIMARY 6 10 5e765a6f 5 5e765a6f 5 2011-11-08 00:00:18
|
||||
test t3 3 0.002164 PRIMARY 11 15 28b300ce 5 28b300ce 5 2011-11-08 00:00:19
|
||||
test t3 4 0.000957 PRIMARY 16 20 b6ccc8e2 5 b6ccc8e2 5 2011-11-08 00:00:20
|
||||
test t3 5 0.000708 PRIMARY 21 25 c0099243 5 c0099243 5 2011-11-08 00:00:21
|
||||
test t3 6 0.000834 PRIMARY 26 26 55f99957 1 55f99957 1 2011-11-08 00:00:22
|
||||
test t3 7 0.000806 PRIMARY \N 1 0 0 0 0 2011-11-08 00:00:23
|
||||
test t3 8 0.000689 PRIMARY 26 \N 0 0 0 0 2011-11-08 00:00:24
|
||||
|
||||
@@ -11,6 +11,8 @@ sakila film_actor 3 0.008531 PRIMARY 76,76,251 110,110,513 ae8105fe 1000 ae8105f
|
||||
sakila film_actor 4 0.005418 PRIMARY 110,110,525 146,146,278 95cd606d 1000 95cd606d 1000 2011-10-15 13:00:11
|
||||
sakila film_actor 5 0.006011 PRIMARY 146,146,296 183,183,862 6e0ab29c 1000 6e0ab29c 1000 2011-10-15 13:00:12
|
||||
sakila film_actor 6 0.005747 PRIMARY 183,183,914 200,200,993 916417a4 462 916417a4 462 2011-10-15 13:00:13
|
||||
sakila film_actor 7 0.000957 PRIMARY \N 1,1,1 0 0 0 0 2011-10-15 13:00:13
|
||||
sakila film_actor 8 0.000944 PRIMARY 200,200,993 \N 0 0 0 0 2011-10-15 13:00:13
|
||||
sakila film_category 1 0.005813 \N \N \N afa46d51 1000 afa46d51 1000 2011-10-15 13:00:14
|
||||
sakila film_text 1 0.00244 \N \N \N 186d7573 1000 186d7573 1000 2011-10-15 13:00:15
|
||||
sakila inventory 1 0.00611 PRIMARY 1 1000 823e0cc1 1000 823e0cc1 1000 2011-10-15 13:00:16
|
||||
@@ -18,6 +20,8 @@ sakila inventory 2 0.007018 PRIMARY 1001 2000 dc2e044d 1000 dc2e044d 1000 2011-1
|
||||
sakila inventory 3 0.008906 PRIMARY 2001 3000 b4d210dc 1000 b4d210dc 1000 2011-10-15 13:00:18
|
||||
sakila inventory 4 0.00614 PRIMARY 3001 4000 2ac7ec19 1000 2ac7ec19 1000 2011-10-15 13:00:19
|
||||
sakila inventory 5 0.005256 PRIMARY 4001 4581 297c82ce 581 297c82ce 581 2011-10-15 13:00:20
|
||||
sakila inventory 6 0.000852 PRIMARY \N 1 0 0 0 0 2011-10-15 13:00:20
|
||||
sakila inventory 7 0.000715 PRIMARY 4581 \N 0 0 0 0 2011-10-15 13:00:20
|
||||
sakila language 1 0.001054 \N \N \N 7e7df3f 6 7e7df3f 6 2011-10-15 13:00:21
|
||||
sakila payment 1 0.006943 PRIMARY 1 1000 8eddd82a 1000 8eddd82a 1000 2011-10-15 13:00:22
|
||||
sakila payment 2 0.013493 PRIMARY 1001 2000 cf5f0276 1000 cf5f0276 1000 2011-10-15 13:00:23
|
||||
@@ -36,6 +40,8 @@ sakila payment 14 0.007389 PRIMARY 13001 14000 ad58fd5c 1000 ad58fd5c 1000 2011-
|
||||
sakila payment 15 0.009497 PRIMARY 14001 15000 37ceaf5e 1000 37ceaf5e 1000 2011-10-15 13:00:36
|
||||
sakila payment 16 0.007292 PRIMARY 15001 16000 88fa3a22 1000 88fa3a22 1000 2011-10-15 13:00:37
|
||||
sakila payment 17 0.001262 PRIMARY 16001 16049 d5ec0985 49 d5ec0985 49 2011-10-15 13:00:38
|
||||
sakila payment 18 0.000673 PRIMARY \N 1 0 0 0 0 2011-10-15 13:00:38
|
||||
sakila payment 19 0.000626 PRIMARY 16049 \N 0 0 0 0 2011-10-15 13:00:38
|
||||
sakila rental 1 0.006666 PRIMARY 1 1001 880ffc22 1000 880ffc22 1000 2011-10-15 13:00:39
|
||||
sakila rental 2 0.007498 PRIMARY 1002 2001 b32e3664 1000 b32e3664 1000 2011-10-15 13:00:40
|
||||
sakila rental 3 0.01027 PRIMARY 2002 3002 1acd2a86 1000 1acd2a86 1000 2011-10-15 13:00:41
|
||||
@@ -53,5 +59,7 @@ sakila rental 14 0.008716 PRIMARY 13005 14004 ea862225 1000 ea862225 1000 2011-1
|
||||
sakila rental 15 0.006528 PRIMARY 14005 15004 dc7ca09f 1000 dc7ca09f 1000 2011-10-15 13:00:53
|
||||
sakila rental 16 0.0096 PRIMARY 15005 16005 113818d1 1000 113818d1 1000 2011-10-15 13:00:54
|
||||
sakila rental 17 0.001746 PRIMARY 16006 16049 dc02888c 44 dc02888c 44 2011-10-15 13:00:55
|
||||
sakila rental 18 0.001069 PRIMARY \N 1 0 0 0 0 2011-10-15 13:00:55
|
||||
sakila rental 19 0.000857 PRIMARY 16049 \N 0 0 0 0 2011-10-15 13:00:55
|
||||
sakila staff 1 0.001279 \N \N \N 233668ae 2 233668ae 2 2011-10-15 13:00:56
|
||||
sakila store 1 0.000905 \N \N \N 6ce7245a 2 6ce7245a 2 2011-10-15 13:00:57
|
||||
|
||||
Reference in New Issue
Block a user