ndb_index_ordered.result
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:12k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. drop table if exists t1, test1, test2;
  2. CREATE TABLE t1 (
  3. a int unsigned NOT NULL PRIMARY KEY,
  4. b int unsigned not null,
  5. c int unsigned,
  6. KEY(b)
  7. ) engine=ndbcluster;
  8. insert t1 values(1, 2, 3), (2,3, 5), (3, 4, 6), (4, 5, 8), (5,6, 2), (6,7, 2);
  9. select * from t1 order by b;
  10. a b c
  11. 1 2 3
  12. 2 3 5
  13. 3 4 6
  14. 4 5 8
  15. 5 6 2
  16. 6 7 2
  17. select * from t1 where b >= 4 order by b;
  18. a b c
  19. 3 4 6
  20. 4 5 8
  21. 5 6 2
  22. 6 7 2
  23. select * from t1 where b = 4 order by b;
  24. a b c
  25. 3 4 6
  26. select * from t1 where b > 4 order by b;
  27. a b c
  28. 4 5 8
  29. 5 6 2
  30. 6 7 2
  31. select * from t1 where b < 4 order by b;
  32. a b c
  33. 1 2 3
  34. 2 3 5
  35. select * from t1 where b <= 4 order by b;
  36. a b c
  37. 1 2 3
  38. 2 3 5
  39. 3 4 6
  40. select tt1.* from t1 as tt1, t1 as tt2 use index(b) where tt1.b = tt2.b order by tt1.b;
  41. a b c
  42. 1 2 3
  43. 2 3 5
  44. 3 4 6
  45. 4 5 8
  46. 5 6 2
  47. 6 7 2
  48. select a, b, c from t1 where a!=2 and c=6;
  49. a b c
  50. 3 4 6
  51. select a, b, c from t1 where a!=2 order by a;
  52. a b c
  53. 1 2 3
  54. 3 4 6
  55. 4 5 8
  56. 5 6 2
  57. 6 7 2
  58. update t1 set c = 3 where b = 3;
  59. select * from t1 order by a;
  60. a b c
  61. 1 2 3
  62. 2 3 3
  63. 3 4 6
  64. 4 5 8
  65. 5 6 2
  66. 6 7 2
  67. update t1 set c = 10 where b >= 6;
  68. select * from t1 order by a;
  69. a b c
  70. 1 2 3
  71. 2 3 3
  72. 3 4 6
  73. 4 5 8
  74. 5 6 10
  75. 6 7 10
  76. update t1 set c = 11 where b < 5;
  77. select * from t1 order by a;
  78. a b c
  79. 1 2 11
  80. 2 3 11
  81. 3 4 11
  82. 4 5 8
  83. 5 6 10
  84. 6 7 10
  85. update t1 set c = 12 where b > 0;
  86. select * from t1 order by a;
  87. a b c
  88. 1 2 12
  89. 2 3 12
  90. 3 4 12
  91. 4 5 12
  92. 5 6 12
  93. 6 7 12
  94. update t1 set c = 13 where b <= 3;
  95. select * from t1 order by a;
  96. a b c
  97. 1 2 13
  98. 2 3 13
  99. 3 4 12
  100. 4 5 12
  101. 5 6 12
  102. 6 7 12
  103. update t1 set b = b + 1 where b > 4 and b < 7;
  104. select * from t1 order by a;
  105. a b c
  106. 1 2 13
  107. 2 3 13
  108. 3 4 12
  109. 4 6 12
  110. 5 7 12
  111. 6 7 12
  112. update t1 set a = a + 10 where b > 1 and b < 7;
  113. select * from t1 order by a;
  114. a b c
  115. 5 7 12
  116. 6 7 12
  117. 11 2 13
  118. 12 3 13
  119. 13 4 12
  120. 14 6 12
  121. drop table t1;
  122. CREATE TABLE t1 (
  123. a int unsigned NOT NULL PRIMARY KEY,
  124. b int unsigned not null,
  125. c int unsigned,
  126. KEY(b)
  127. ) engine=ndbcluster;
  128. insert t1 values(1, 2, 13), (2,3, 13), (3, 4, 12), (4, 5, 12), (5,6, 12), (6,7, 12);
  129. delete from t1 where b = 3;
  130. select * from t1 order by a;
  131. a b c
  132. 1 2 13
  133. 3 4 12
  134. 4 5 12
  135. 5 6 12
  136. 6 7 12
  137. delete from t1 where b >= 6;
  138. select * from t1 order by a;
  139. a b c
  140. 1 2 13
  141. 3 4 12
  142. 4 5 12
  143. delete from t1 where b < 4;
  144. select * from t1 order by a;
  145. a b c
  146. 3 4 12
  147. 4 5 12
  148. delete from t1 where b > 5;
  149. select * from t1 order by a;
  150. a b c
  151. 3 4 12
  152. 4 5 12
  153. delete from t1 where b <= 4;
  154. select * from t1 order by a;
  155. a b c
  156. 4 5 12
  157. drop table t1;
  158. CREATE TABLE t1 (
  159. a int unsigned NOT NULL PRIMARY KEY,
  160. b int unsigned not null,
  161. c int unsigned not null
  162. ) engine = ndb;
  163. create index a1 on t1 (b, c);
  164. insert into t1 values (1, 2, 13);
  165. insert into t1 values (2,3, 13);
  166. insert into t1 values (3, 4, 12);
  167. insert into t1 values (4, 5, 12);
  168. insert into t1 values (5,6, 12);
  169. insert into t1 values (6,7, 12);
  170. insert into t1 values (7, 2, 1);
  171. insert into t1 values (8,3, 6);
  172. insert into t1 values (9, 4, 12);
  173. insert into t1 values (14, 5, 4);
  174. insert into t1 values (15,5,5);
  175. insert into t1 values (16,5, 6);
  176. insert into t1 values (17,4,4);
  177. insert into t1 values (18,1, 7);
  178. select * from t1 order by a;
  179. a b c
  180. 1 2 13
  181. 2 3 13
  182. 3 4 12
  183. 4 5 12
  184. 5 6 12
  185. 6 7 12
  186. 7 2 1
  187. 8 3 6
  188. 9 4 12
  189. 14 5 4
  190. 15 5 5
  191. 16 5 6
  192. 17 4 4
  193. 18 1 7
  194. select * from t1 where b<=5 order by a;
  195. a b c
  196. 1 2 13
  197. 2 3 13
  198. 3 4 12
  199. 4 5 12
  200. 7 2 1
  201. 8 3 6
  202. 9 4 12
  203. 14 5 4
  204. 15 5 5
  205. 16 5 6
  206. 17 4 4
  207. 18 1 7
  208. select * from t1 where b<=5 and c=0;
  209. a b c
  210. insert into t1 values (19,4, 0);
  211. select * from t1 where b<=5 and c=0;
  212. a b c
  213. 19 4 0
  214. select * from t1 where b=4 and c<=5 order by a;
  215. a b c
  216. 17 4 4
  217. 19 4 0
  218. select * from t1 where b<=4 and c<=5 order by a;
  219. a b c
  220. 7 2 1
  221. 17 4 4
  222. 19 4 0
  223. select * from t1 where b<=5 and c=0 or b<=5 and c=2;
  224. a b c
  225. 19 4 0
  226. select count(*) from t1 where b = 0;
  227. count(*)
  228. 0
  229. select count(*) from t1 where b = 1;
  230. count(*)
  231. 1
  232. drop table t1;
  233. CREATE TABLE t1 (
  234. a int unsigned NOT NULL PRIMARY KEY,
  235. b int unsigned,
  236. c int unsigned,
  237. KEY bc(b,c)
  238. ) engine = ndb;
  239. insert into t1 values(1,1,1),(2,NULL,2),(3,NULL,NULL),(4,4,NULL);
  240. select * from t1 use index (bc) where b IS NULL order by a;
  241. a b c
  242. 2 NULL 2
  243. 3 NULL NULL
  244. select * from t1 use index (bc)order by a;
  245. a b c
  246. 1 1 1
  247. 2 NULL 2
  248. 3 NULL NULL
  249. 4 4 NULL
  250. select * from t1 use index (bc) order by a;
  251. a b c
  252. 1 1 1
  253. 2 NULL 2
  254. 3 NULL NULL
  255. 4 4 NULL
  256. select * from t1 use index (PRIMARY) where b IS NULL order by a;
  257. a b c
  258. 2 NULL 2
  259. 3 NULL NULL
  260. select * from t1 use index (bc) where b IS NULL order by a;
  261. a b c
  262. 2 NULL 2
  263. 3 NULL NULL
  264. select * from t1 use index (bc) where b IS NULL and c IS NULL order by a;
  265. a b c
  266. 3 NULL NULL
  267. select * from t1 use index (bc) where b IS NULL and c = 2 order by a;
  268. a b c
  269. 2 NULL 2
  270. select * from t1 use index (bc) where b < 4 order by a;
  271. a b c
  272. 1 1 1
  273. select * from t1 use index (bc) where b IS NOT NULL order by a;
  274. a b c
  275. 1 1 1
  276. 4 4 NULL
  277. drop table t1;
  278. CREATE TABLE test1 (
  279. SubscrID int(11) NOT NULL auto_increment,
  280. UsrID int(11) NOT NULL default '0',
  281. PRIMARY KEY  (SubscrID),
  282. KEY idx_usrid (UsrID)
  283. ) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
  284. INSERT INTO test1 VALUES (2,224),(3,224),(1,224);
  285. CREATE TABLE test2 (
  286. SbclID int(11) NOT NULL auto_increment,
  287. SbcrID int(11) NOT NULL default '0',
  288. PRIMARY KEY  (SbclID),
  289. KEY idx_sbcrid (SbcrID)
  290. ) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
  291. INSERT INTO test2 VALUES (3,2),(1,1),(2,1),(4,2);
  292. select * from test1 order by 1;
  293. SubscrID UsrID
  294. 1 224
  295. 2 224
  296. 3 224
  297. select * from test2 order by 1;
  298. SbclID SbcrID
  299. 1 1
  300. 2 1
  301. 3 2
  302. 4 2
  303. SELECT s.SubscrID,l.SbclID FROM test1 s left JOIN test2 l ON
  304. l.SbcrID=s.SubscrID WHERE s.UsrID=224 order by 1, 2;
  305. SubscrID SbclID
  306. 1 1
  307. 1 2
  308. 2 3
  309. 2 4
  310. 3 NULL
  311. drop table test1;
  312. drop table test2;
  313. create table t1 (
  314. pk int primary key,
  315. dt datetime not null,
  316. da date not null,
  317. ye year not null,
  318. ti time not null,
  319. ts timestamp not null,
  320. index(dt),
  321. index(da),
  322. index(ye),
  323. index(ti),
  324. index(ts)
  325. ) engine=ndb;
  326. insert into t1 (pk,dt,da,ye,ti,ts) values
  327. (1, '1901-05-05 23:00:59', '1901-05-05', '1901', '23:00:59', '2001-01-01 23:00:59'),
  328. (2, '1912-09-05 13:00:59', '1912-09-05', '1912', '13:00:59', '2001-01-01 13:00:59'),
  329. (3, '1945-12-31 00:00:00', '1945-12-31', '1945', '00:00:00', '2001-01-01 00:00:00'),
  330. (4, '1955-12-31 00:00:00', '1955-12-31', '1955', '00:00:00', '2001-01-01 00:00:00'),
  331. (5, '1963-06-06 06:06:06', '1963-06-06', '1963', '06:06:06', '2001-01-01 06:06:06'),
  332. (6, '1993-06-06 06:06:06', '1993-06-06', '1993', '06:06:06', '2001-01-01 06:06:06'),
  333. (7, '2001-01-01 10:11:10', '2001-01-01', '2001', '10:11:10', '2001-01-01 10:11:10'),
  334. (8, '2001-01-01 10:11:11', '2001-01-01', '2001', '10:11:11', '2001-01-01 10:11:11'),
  335. (9, '2005-01-31 23:59:59', '2005-01-31', '2005', '23:59:59', '2001-01-01 23:59:59');
  336. select count(*)-9 from t1 use index (dt) where dt >  '1900-01-01 00:00:00';
  337. count(*)-9
  338. 0
  339. select count(*)-6 from t1 use index (dt) where dt >= '1955-12-31 00:00:00';
  340. count(*)-6
  341. 0
  342. select count(*)-5 from t1 use index (dt) where dt >  '1955-12-31 00:00:00';
  343. count(*)-5
  344. 0
  345. select count(*)-5 from t1 use index (dt) where dt <  '1970-03-03 22:22:22';
  346. count(*)-5
  347. 0
  348. select count(*)-7 from t1 use index (dt) where dt <  '2001-01-01 10:11:11';
  349. count(*)-7
  350. 0
  351. select count(*)-8 from t1 use index (dt) where dt <= '2001-01-01 10:11:11';
  352. count(*)-8
  353. 0
  354. select count(*)-9 from t1 use index (dt) where dt <= '2055-01-01 00:00:00';
  355. count(*)-9
  356. 0
  357. select count(*)-9 from t1 use index (da) where da >  '1900-01-01';
  358. count(*)-9
  359. 0
  360. select count(*)-6 from t1 use index (da) where da >= '1955-12-31';
  361. count(*)-6
  362. 0
  363. select count(*)-5 from t1 use index (da) where da >  '1955-12-31';
  364. count(*)-5
  365. 0
  366. select count(*)-5 from t1 use index (da) where da <  '1970-03-03';
  367. count(*)-5
  368. 0
  369. select count(*)-6 from t1 use index (da) where da <  '2001-01-01';
  370. count(*)-6
  371. 0
  372. select count(*)-8 from t1 use index (da) where da <= '2001-01-02';
  373. count(*)-8
  374. 0
  375. select count(*)-9 from t1 use index (da) where da <= '2055-01-01';
  376. count(*)-9
  377. 0
  378. select count(*)-9 from t1 use index (ye) where ye >  '1900';
  379. count(*)-9
  380. 0
  381. select count(*)-6 from t1 use index (ye) where ye >= '1955';
  382. count(*)-6
  383. 0
  384. select count(*)-5 from t1 use index (ye) where ye >  '1955';
  385. count(*)-5
  386. 0
  387. select count(*)-5 from t1 use index (ye) where ye <  '1970';
  388. count(*)-5
  389. 0
  390. select count(*)-6 from t1 use index (ye) where ye <  '2001';
  391. count(*)-6
  392. 0
  393. select count(*)-8 from t1 use index (ye) where ye <= '2001';
  394. count(*)-8
  395. 0
  396. select count(*)-9 from t1 use index (ye) where ye <= '2055';
  397. count(*)-9
  398. 0
  399. select count(*)-9 from t1 use index (ti) where ti >= '00:00:00';
  400. count(*)-9
  401. 0
  402. select count(*)-7 from t1 use index (ti) where ti >  '00:00:00';
  403. count(*)-7
  404. 0
  405. select count(*)-7 from t1 use index (ti) where ti >  '05:05:05';
  406. count(*)-7
  407. 0
  408. select count(*)-5 from t1 use index (ti) where ti >  '06:06:06';
  409. count(*)-5
  410. 0
  411. select count(*)-5 from t1 use index (ti) where ti <  '10:11:11';
  412. count(*)-5
  413. 0
  414. select count(*)-6 from t1 use index (ti) where ti <= '10:11:11';
  415. count(*)-6
  416. 0
  417. select count(*)-8 from t1 use index (ti) where ti <  '23:59:59';
  418. count(*)-8
  419. 0
  420. select count(*)-9 from t1 use index (ti) where ti <= '23:59:59';
  421. count(*)-9
  422. 0
  423. select count(*)-9 from t1 use index (ts) where ts >= '2001-01-01 00:00:00';
  424. count(*)-9
  425. 0
  426. select count(*)-7 from t1 use index (ts) where ts >  '2001-01-01 00:00:00';
  427. count(*)-7
  428. 0
  429. select count(*)-7 from t1 use index (ts) where ts >  '2001-01-01 05:05:05';
  430. count(*)-7
  431. 0
  432. select count(*)-5 from t1 use index (ts) where ts >  '2001-01-01 06:06:06';
  433. count(*)-5
  434. 0
  435. select count(*)-5 from t1 use index (ts) where ts <  '2001-01-01 10:11:11';
  436. count(*)-5
  437. 0
  438. select count(*)-6 from t1 use index (ts) where ts <= '2001-01-01 10:11:11';
  439. count(*)-6
  440. 0
  441. select count(*)-8 from t1 use index (ts) where ts <  '2001-01-01 23:59:59';
  442. count(*)-8
  443. 0
  444. select count(*)-9 from t1 use index (ts) where ts <= '2001-01-01 23:59:59';
  445. count(*)-9
  446. 0
  447. drop table t1;
  448. create table t1 (
  449. a int primary key,
  450. s decimal(12),
  451. t decimal(12, 5),
  452. u decimal(12) unsigned,
  453. v decimal(12, 5) unsigned,
  454. key (s),
  455. key (t),
  456. key (u),
  457. key (v)
  458. ) engine=ndb;
  459. insert into t1 values
  460. ( 0, -000000000007, -0000061.00003,  000000000061,  0000965.00042),
  461. ( 1, -000000000007, -0000061.00042,  000000000061,  0000965.00003),
  462. ( 2, -071006035767,  4210253.00024,  000000000001,  0000001.84488),
  463. ( 3,  000000007115,  0000000.77607,  000077350625,  0000018.00013),
  464. ( 4, -000000068391, -0346486.00000,  000000005071,  0005334.00002),
  465. ( 5, -521579890459, -1936874.00001,  000000000154,  0000003.00018),
  466. ( 6, -521579890459, -1936874.00018,  000000000154,  0000003.00001),
  467. ( 7,  000000000333,  0000051.39140,  000000907958,  0788643.08374),
  468. ( 8,  000042731229,  0000009.00000,  000000000009,  6428667.00000),
  469. ( 9, -000008159769,  0000918.00004,  000096951421,  7607730.00008);
  470. select count(*)- 5 from t1 use index (s) where s  < -000000000007;
  471. count(*)- 5
  472. 0
  473. select count(*)- 7 from t1 use index (s) where s <= -000000000007;
  474. count(*)- 7
  475. 0
  476. select count(*)- 2 from t1 use index (s) where s  = -000000000007;
  477. count(*)- 2
  478. 0
  479. select count(*)- 5 from t1 use index (s) where s >= -000000000007;
  480. count(*)- 5
  481. 0
  482. select count(*)- 3 from t1 use index (s) where s  > -000000000007;
  483. count(*)- 3
  484. 0
  485. select count(*)- 4 from t1 use index (t) where t  < -0000061.00003;
  486. count(*)- 4
  487. 0
  488. select count(*)- 5 from t1 use index (t) where t <= -0000061.00003;
  489. count(*)- 5
  490. 0
  491. select count(*)- 1 from t1 use index (t) where t  = -0000061.00003;
  492. count(*)- 1
  493. 0
  494. select count(*)- 6 from t1 use index (t) where t >= -0000061.00003;
  495. count(*)- 6
  496. 0
  497. select count(*)- 5 from t1 use index (t) where t  > -0000061.00003;
  498. count(*)- 5
  499. 0
  500. select count(*)- 2 from t1 use index (u) where u  <  000000000061;
  501. count(*)- 2
  502. 0
  503. select count(*)- 4 from t1 use index (u) where u <=  000000000061;
  504. count(*)- 4
  505. 0
  506. select count(*)- 2 from t1 use index (u) where u  =  000000000061;
  507. count(*)- 2
  508. 0
  509. select count(*)- 8 from t1 use index (u) where u >=  000000000061;
  510. count(*)- 8
  511. 0
  512. select count(*)- 6 from t1 use index (u) where u  >  000000000061;
  513. count(*)- 6
  514. 0
  515. select count(*)- 5 from t1 use index (v) where v  <  0000965.00042;
  516. count(*)- 5
  517. 0
  518. select count(*)- 6 from t1 use index (v) where v <=  0000965.00042;
  519. count(*)- 6
  520. 0
  521. select count(*)- 1 from t1 use index (v) where v  =  0000965.00042;
  522. count(*)- 1
  523. 0
  524. select count(*)- 5 from t1 use index (v) where v >=  0000965.00042;
  525. count(*)- 5
  526. 0
  527. select count(*)- 4 from t1 use index (v) where v  >  0000965.00042;
  528. count(*)- 4
  529. 0
  530. drop table t1;
  531. create table t1(a int primary key, b int not null, index(b));
  532. insert into t1 values (1,1), (2,2);
  533. set autocommit=0;
  534. begin;
  535. select count(*) from t1;
  536. count(*)
  537. 2
  538. ALTER TABLE t1 ADD COLUMN c int;
  539. select a from t1 where b = 2;
  540. a
  541. 2
  542. show tables;
  543. Tables_in_test
  544. t1
  545. drop table t1;