⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ndb_read_multi_range.test

📁 这是linux下运行的mysql软件包,可用于linux 下安装 php + mysql + apach 的网络配置
💻 TEST
字号:
-- source include/have_ndb.inc-- source include/not_embedded.inc--disable_warningsDROP TABLE IF EXISTS t1, t2, r1;--enable_warnings## Basic test to see that batching is working#create table t1 (  a int primary key,  b int not null,  c int not null,  index(b), unique index using hash(c)) engine = ndb;insert into t1 values  (1,2,1),(2,3,2),(3,4,3),(4,5,4),  (5,2,12),(6,3,11),(7,4,10),(8,5,9),  (9,2,8),(10,3,7),(11,4,6),(12,5,5);# batch on primary keycreate table r1 as select * from t1 where a in (2,8,12);select * from r1 order by a;drop table r1;# batch on ordered indexcreate table r1 as select * from t1 where b in (1,2,5);select * from r1 order by a;drop table r1;# batch on unique hash indexcreate table r1 as select * from t1 where c in (2,8,12);select * from r1 order by a;drop table r1;# batch mixedcreate table r1 as select * from t1 where a in (2,8) or (a > 11) or (a <= 1);select * from r1 order by a;drop table r1;# batch on primary key, missing valuescreate table r1 as select * from t1 where a in (33,8,12);select * from r1 order by a;drop table r1;create table r1 as select * from t1 where a in (2,33,8,12,34);select * from r1 order by a;drop table r1;# batch on ordered index, missing valuescreate table r1 as select * from t1 where b in (1,33,5);select * from r1 order by a;drop table r1;select * from t1 where b in (1,33,5) order by a;create table r1 as select * from t1 where b in (45,1,33,5,44);select * from r1 order by a;drop table r1;select * from t1 where b in (45,22) order by a;# batch on unique hash index, missing valuescreate table r1 as select * from t1 where c in (2,8,33);select * from r1 order by a;drop table r1;create table r1 as select * from t1 where c in (13,2,8,33,12);select * from r1 order by a;drop table r1;select * from t1 where a in (33,8,12) order by a;select * from t1 where a in (33,34,35) order by a;select * from t1 where a in (2,8) or (a > 11) or (a <= 1) order by a;select * from t1 where b in (6,7) or (b <= 5) or (b >= 10) order by b,a;select * from t1 where c in (13,2,8,33,12) order by c,a;drop table t1;## Somewhat more complicated#create table t1 (  a int not null,  b int not null,  c int not null,  d int not null,  e int not null,  primary key (a,b,c,d), index (d)) engine = ndb;insert into t1 values  (1,2,1,1,1),(2,3,2,3,1),(3,4,3,1,1),(4,5,4,7,1),  (5,2,12,12,1),(6,3,11,1,1),(7,4,10,3,1),(8,5,9,5,1),  (9,2,8,6,1),(10,3,7,5,1),(11,4,6,3,1),(12,5,5,2,1),  (1,2,1,2,1),  (1,2,1,3,1),  (1,2,1,4,1),  (1,2,1,5,1);# batch on primary keycreate table r1 as select * from t1  where a=1 and b=2 and c=1 and d in (1,4,3,2);select * from r1 order by a,b,c,d;drop table r1;# batched update ordered index, one value for allupdate t1 set e = 100  where d in (12,6,7);select * from t1 where d in (12,6,7) order by a,b,c,d;select * from t1 where d not in (12,6,7) and e = 100;# batched update primary key, one value for allupdate t1   set e = 101  where a=1 and         b=2 and         c=1 and         d in (1,4,3,2);select *   from t1  where a=1 and b=2 and c=1 and d in (1,4,3,2)  order by a,b,c,d;select *   from t1   where not (a=1 and b=2 and c=1 and d in (1,4,3,2))        and e=101;# batched update ordered index, different valuesupdate t1   set e =     (case d      when 12 then 112      when 6  then 106      when 7  then 107    end)  where d in (12,6,7);select * from t1 where d in (12,6,7) order by a,b,c,d;# batched update primary key, different valuesupdate t1   set e =     (case d      when 1 then 111      when 4 then 444      when 3 then 333      when 2 then 222    end)  where a=1 and         b=2 and         c=1 and         d in (1,4,3,2);select *   from t1  where a=1 and b=2 and c=1 and d in (1,4,3,2)  order by a,b,c,d;# batched deletedelete from t1 where d in (12,6,7);select * from t1 where d in (12,6,7);drop table t1;# null handlingcreate table t1 (  a int not null primary key,  b int,  c int,  d int,  unique index (b),  index(c)) engine = ndb;insert into t1 values  (1,null,1,1),  (2,2,2,2),  (3,null,null,3),  (4,4,null,4),  (5,null,5,null),  (6,6,6,null),  (7,null,null,null),  (8,8,null,null),  (9,null,9,9),  (10,10,10,10),  (11,null,null,11),  (12,12,null,12),  (13,null,13,null),  (14,14,14,null),  (15,null,null,null),  (16,16,null,null);create table t2 as select * from t1 where a in (5,6,7,8,9,10);select * from t2 order by a;drop table t2;create table t2 as select * from t1 where b in (5,6,7,8,9,10);select * from t2 order by a;drop table t2;create table t2 as select * from t1 where c in (5,6,7,8,9,10);select * from t2 order by a;drop table t2;drop table t1;# bug17729CREATE TABLE t1 (  a int(11) NOT NULL,  b int(11) NOT NULL,  c datetime default NULL,  PRIMARY KEY  (a),  KEY idx_bc (b,c)) ENGINE=ndbcluster;INSERT INTO t1 VALUES (406989,67,'2006-02-23 17:08:46'), (150078,67,'2005-10-26 11:17:45'),(406993,67,'2006-02-27 11:20:57'), (245655,67,'2005-12-08 15:59:08'),(406994,67,'2006-02-27 11:26:46'), (256,67,NULL),(398341,67,'2006-02-20 04:48:44'), (254,67,NULL),(1120,67,NULL),(406988,67,'2006-02-23 17:07:22'), (255,67,NULL),(398340,67,'2006-02-20 04:38:53'),(406631,67,'2006-02-23 10:49:42'),(245653,67,'2005-12-08 15:59:07'),(406992,67,'2006-02-24 16:47:18'),(245654,67,'2005-12-08 15:59:08'),(406995,67,'2006-02-28 11:55:00'),(127261,67,'2005-10-13 12:17:58'),(406991,67,'2006-02-24 16:42:32'),(245652,67,'2005-12-08 15:58:27'),(398545,67,'2006-02-20 04:53:13'),(154504,67,'2005-10-28 11:53:01'),(9199,67,NULL),(1,67,'2006-02-23 15:01:35'),(223456,67,NULL),(4101,67,NULL),(1133,67,NULL),(406990,67,'2006-02-23 18:01:45'),(148815,67,'2005-10-25 15:34:17'),(148812,67,'2005-10-25 15:30:01'),(245651,67,'2005-12-08 15:58:27'),(154503,67,'2005-10-28 11:52:38');create table t11 select * from t1 where b = 67 AND (c IS NULL OR c > NOW()) order by 3 asc;create table t12 select * from t1 where b = 67 AND (c IS NULL OR c > NOW()) order by 3 desc;create table t21 select * from t1 where b = 67 AND (c IS NULL OR c > '2005-12-08') order by 3 asc;create table t22 select * from t1 where b = 67 AND (c IS NULL OR c > '2005-12-08') order by 3 desc;select * from t11 order by 1,2,3;select * from t12 order by 1,2,3;select * from t21 order by 1,2,3;select * from t22 order by 1,2,3;DROP TABLE t1, t11, t12, t21, t22;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -