103 lines
2.5 KiB
Plaintext
103 lines
2.5 KiB
Plaintext
-- source include/have_ndb.inc
|
|
|
|
|
|
# Create table with unique key, ordered index + blob
|
|
|
|
create table t1 (
|
|
th int primary key,
|
|
un int,
|
|
de int,
|
|
rb varchar(1000) character set latin1,
|
|
al longtext,
|
|
key(de),
|
|
unique(rb))
|
|
engine=ndb;
|
|
|
|
insert into t1 values (1, 1, 1, repeat('O', 1000), repeat('L', 60000));
|
|
insert into t1 values (2, 2, 2, repeat('W', 999), repeat('B', 60001));
|
|
insert into t1 values (3, 3, 3, repeat('P', 998), repeat('P', 60002));
|
|
insert into t1 values (4, 4, 4, repeat('Q', 997), repeat('E', 60003));
|
|
insert into t1 values (5, 5, 5, repeat('E', 996), repeat('A', 60004));
|
|
|
|
# Pk lookup
|
|
select th, un, de, length(rb), length(al)
|
|
from t1
|
|
where th in (2,4)
|
|
order by th;
|
|
|
|
# Uk lookup
|
|
select th, un, de, length(rb), length(al)
|
|
from t1
|
|
where rb
|
|
in (repeat('O', 1000), repeat('Q', 997))
|
|
order by th;
|
|
|
|
# Secondary Index scan
|
|
select th, un, de, length(rb), length(al)
|
|
from t1
|
|
where de between 3 and 5
|
|
order by th;
|
|
|
|
# Table scan
|
|
select th, un, de, length(rb), length(al)
|
|
from t1
|
|
order by th;
|
|
|
|
# Update via Pk
|
|
update t1
|
|
set un=6, de=6, rb= repeat('S', 995), al = repeat('O', 60005)
|
|
where th = 1;
|
|
|
|
# Update via Uk
|
|
update t1
|
|
set un=7, de=7, al = repeat('F', 60006)
|
|
where rb = repeat('W', 999);
|
|
|
|
# Update via Index Scan
|
|
update t1
|
|
set un= un + 5, rb = repeat('U', 1000 - un), al = repeat('U', 60000 + un)
|
|
where de >= 3 and de <= 5;
|
|
|
|
# Table scan
|
|
select th, un, de, length(rb), length(al)
|
|
from t1
|
|
order by th;
|
|
|
|
# Online alter table
|
|
alter table t1 add column extra varchar(2000);
|
|
|
|
# Table scanning update
|
|
update t1 set extra = repeat(rb, 2);
|
|
|
|
# Table scan
|
|
select th, un, de, length(rb), length(al), length(extra)
|
|
from t1
|
|
order by th;
|
|
|
|
# Table scan with large pushed filter
|
|
select th, un, de, length(rb), length(al), length(extra)
|
|
from t1
|
|
where extra in (
|
|
repeat('U', 2000),
|
|
repeat('U', 1998),
|
|
repeat('U', 1996),
|
|
repeat('U', 1994),
|
|
repeat('U', 1992),
|
|
repeat('U', 1990),
|
|
repeat('U', 1988),
|
|
repeat('U', 1986),
|
|
repeat('U', 1984),
|
|
repeat('U', 1982),
|
|
repeat('U', 1980),
|
|
repeat('U', 1978),
|
|
repeat('U', 1976),
|
|
repeat('U', 1974),
|
|
repeat('U', 1972),
|
|
repeat('U', 1970),
|
|
repeat('U', 1968),
|
|
repeat('U', 1966),
|
|
repeat('U', 1964))
|
|
order by th;
|
|
|
|
drop table t1;
|