1drop table if exists t1; 2CREATE TABLE t1 ( 3a int not null, 4b int not null, 5primary key(a), 6index (b)) 7partition by range (a) 8partitions 2 9(partition x1 values less than (25), 10partition x2 values less than (100)); 11INSERT into t1 values (1, 1); 12INSERT into t1 values (2, 5); 13INSERT into t1 values (30, 4); 14INSERT into t1 values (35, 2); 15select * from t1 order by b; 16a b 171 1 1835 2 1930 4 202 5 21select * from t1 force index (b) where b > 0 order by b; 22a b 231 1 2435 2 2530 4 262 5 27drop table t1; 28CREATE TABLE t1 ( 29a int not null, 30b int unsigned not null, 31primary key(a), 32index (b)) 33partition by range (a) 34partitions 2 35(partition x1 values less than (25), 36partition x2 values less than (100)); 37INSERT into t1 values (1, 1); 38INSERT into t1 values (2, 5); 39INSERT into t1 values (30, 4); 40INSERT into t1 values (35, 2); 41select * from t1 force index (b) where b > 0 order by b; 42a b 431 1 4435 2 4530 4 462 5 47drop table t1; 48CREATE TABLE t1 ( 49a int not null, 50b tinyint not null, 51primary key(a), 52index (b)) 53partition by range (a) 54partitions 2 55(partition x1 values less than (25), 56partition x2 values less than (100)); 57INSERT into t1 values (1, 1); 58INSERT into t1 values (2, 5); 59INSERT into t1 values (30, 4); 60INSERT into t1 values (35, 2); 61select * from t1 force index (b) where b > 0 order by b; 62a b 631 1 6435 2 6530 4 662 5 67drop table t1; 68CREATE TABLE t1 ( 69a int not null, 70b tinyint unsigned not null, 71primary key(a), 72index (b)) 73partition by range (a) 74partitions 2 75(partition x1 values less than (25), 76partition x2 values less than (100)); 77INSERT into t1 values (1, 1); 78INSERT into t1 values (2, 5); 79INSERT into t1 values (30, 4); 80INSERT into t1 values (35, 2); 81select * from t1 force index (b) where b > 0 order by b; 82a b 831 1 8435 2 8530 4 862 5 87drop table t1; 88CREATE TABLE t1 ( 89a int not null, 90b smallint not null, 91primary key(a), 92index (b)) 93partition by range (a) 94partitions 2 95(partition x1 values less than (25), 96partition x2 values less than (100)); 97INSERT into t1 values (1, 1); 98INSERT into t1 values (2, 5); 99INSERT into t1 values (30, 4); 100INSERT into t1 values (35, 2); 101select * from t1 force index (b) where b > 0 order by b; 102a b 1031 1 10435 2 10530 4 1062 5 107drop table t1; 108CREATE TABLE t1 ( 109a int not null, 110b smallint unsigned not null, 111primary key(a), 112index (b)) 113partition by range (a) 114partitions 2 115(partition x1 values less than (25), 116partition x2 values less than (100)); 117INSERT into t1 values (1, 1); 118INSERT into t1 values (2, 5); 119INSERT into t1 values (30, 4); 120INSERT into t1 values (35, 2); 121select * from t1 force index (b) where b > 0 order by b; 122a b 1231 1 12435 2 12530 4 1262 5 127drop table t1; 128CREATE TABLE t1 ( 129a int not null, 130b mediumint not null, 131primary key(a), 132index (b)) 133partition by range (a) 134partitions 2 135(partition x1 values less than (25), 136partition x2 values less than (100)); 137INSERT into t1 values (1, 1); 138INSERT into t1 values (2, 5); 139INSERT into t1 values (30, 4); 140INSERT into t1 values (35, 2); 141select * from t1 force index (b) where b > 0 order by b; 142a b 1431 1 14435 2 14530 4 1462 5 147drop table t1; 148CREATE TABLE t1 ( 149a int not null, 150b mediumint unsigned not null, 151primary key(a), 152index (b)) 153partition by range (a) 154partitions 2 155(partition x1 values less than (25), 156partition x2 values less than (100)); 157INSERT into t1 values (1, 1); 158INSERT into t1 values (2, 5); 159INSERT into t1 values (30, 4); 160INSERT into t1 values (35, 2); 161select * from t1 force index (b) where b > 0 order by b; 162a b 1631 1 16435 2 16530 4 1662 5 167drop table t1; 168CREATE TABLE t1 ( 169a int not null, 170b bigint unsigned not null, 171primary key(a), 172index (b)) 173partition by range (a) 174partitions 2 175(partition x1 values less than (25), 176partition x2 values less than (100)); 177INSERT into t1 values (1, 1); 178INSERT into t1 values (2, 5); 179INSERT into t1 values (30, 4); 180INSERT into t1 values (35, 2); 181select * from t1 force index (b) where b > 0 order by b; 182a b 1831 1 18435 2 18530 4 1862 5 187drop table t1; 188CREATE TABLE t1 ( 189a int not null, 190b bigint not null, 191primary key(a), 192index (b)) 193partition by range (a) 194partitions 2 195(partition x1 values less than (25), 196partition x2 values less than (100)); 197INSERT into t1 values (1, 1); 198INSERT into t1 values (2, 5); 199INSERT into t1 values (30, 4); 200INSERT into t1 values (35, 2); 201select * from t1 force index (b) where b > 0 order by b; 202a b 2031 1 20435 2 20530 4 2062 5 207drop table t1; 208CREATE TABLE t1 ( 209a int not null, 210b bigint not null, 211primary key(a), 212index (b)) 213partition by range (a) 214partitions 2 215(partition x1 values less than (25), 216partition x2 values less than (100)); 217INSERT into t1 values (1, 1); 218INSERT into t1 values (2, 5); 219INSERT into t1 values (30, 4); 220INSERT into t1 values (35, 2); 221select * from t1 force index (b) where b > 0 order by b; 222a b 2231 1 22435 2 22530 4 2262 5 227drop table t1; 228CREATE TABLE t1 ( 229a int not null, 230b float not null, 231primary key(a), 232index (b)) 233partition by range (a) 234partitions 2 235(partition x1 values less than (25), 236partition x2 values less than (100)); 237INSERT into t1 values (1, 1); 238INSERT into t1 values (2, 5); 239INSERT into t1 values (30, 4); 240INSERT into t1 values (35, 2); 241select * from t1 force index (b) where b > 0 order by b; 242a b 2431 1 24435 2 24530 4 2462 5 247drop table t1; 248CREATE TABLE t1 ( 249a int not null, 250b double not null, 251primary key(a), 252index (b)) 253partition by range (a) 254partitions 2 255(partition x1 values less than (25), 256partition x2 values less than (100)); 257INSERT into t1 values (1, 1); 258INSERT into t1 values (2, 5); 259INSERT into t1 values (30, 4); 260INSERT into t1 values (35, 2); 261select * from t1 force index (b) where b > 0 order by b; 262a b 2631 1 26435 2 26530 4 2662 5 267drop table t1; 268CREATE TABLE t1 ( 269a int not null, 270b double unsigned not null, 271primary key(a), 272index (b)) 273partition by range (a) 274partitions 2 275(partition x1 values less than (25), 276partition x2 values less than (100)); 277INSERT into t1 values (1, 1); 278INSERT into t1 values (2, 5); 279INSERT into t1 values (30, 4); 280INSERT into t1 values (35, 2); 281select * from t1 force index (b) where b > 0 order by b; 282a b 2831 1 28435 2 28530 4 2862 5 287drop table t1; 288CREATE TABLE t1 ( 289a int not null, 290b float unsigned not null, 291primary key(a), 292index (b)) 293partition by range (a) 294partitions 2 295(partition x1 values less than (25), 296partition x2 values less than (100)); 297INSERT into t1 values (1, 1); 298INSERT into t1 values (2, 5); 299INSERT into t1 values (30, 4); 300INSERT into t1 values (35, 2); 301select * from t1 force index (b) where b > 0 order by b; 302a b 3031 1 30435 2 30530 4 3062 5 307drop table t1; 308CREATE TABLE t1 ( 309a int not null, 310b double precision not null, 311primary key(a), 312index (b)) 313partition by range (a) 314partitions 2 315(partition x1 values less than (25), 316partition x2 values less than (100)); 317INSERT into t1 values (1, 1); 318INSERT into t1 values (2, 5); 319INSERT into t1 values (30, 4); 320INSERT into t1 values (35, 2); 321select * from t1 force index (b) where b > 0 order by b; 322a b 3231 1 32435 2 32530 4 3262 5 327drop table t1; 328CREATE TABLE t1 ( 329a int not null, 330b double precision unsigned not null, 331primary key(a), 332index (b)) 333partition by range (a) 334partitions 2 335(partition x1 values less than (25), 336partition x2 values less than (100)); 337INSERT into t1 values (1, 1); 338INSERT into t1 values (2, 5); 339INSERT into t1 values (30, 4); 340INSERT into t1 values (35, 2); 341select * from t1 force index (b) where b > 0 order by b; 342a b 3431 1 34435 2 34530 4 3462 5 347drop table t1; 348CREATE TABLE t1 ( 349a int not null, 350b decimal not null, 351primary key(a), 352index (b)) 353partition by range (a) 354partitions 2 355(partition x1 values less than (25), 356partition x2 values less than (100)); 357INSERT into t1 values (1, 1); 358INSERT into t1 values (2, 5); 359INSERT into t1 values (30, 4); 360INSERT into t1 values (35, 2); 361select * from t1 force index (b) where b > 0 order by b; 362a b 3631 1 36435 2 36530 4 3662 5 367drop table t1; 368CREATE TABLE t1 ( 369a int not null, 370b char(10) not null, 371primary key(a), 372index (b)) 373partition by range (a) 374partitions 2 375(partition x1 values less than (25), 376partition x2 values less than (100)); 377INSERT into t1 values (1, '1'); 378INSERT into t1 values (2, '5'); 379INSERT into t1 values (30, '4'); 380INSERT into t1 values (35, '2'); 381select * from t1 force index (b) where b > 0 order by b; 382a b 3831 1 38435 2 38530 4 3862 5 387drop table t1; 388CREATE TABLE t1 ( 389a int not null, 390b varchar(10) not null, 391primary key(a), 392index (b)) 393partition by range (a) 394partitions 2 395(partition x1 values less than (25), 396partition x2 values less than (100)); 397INSERT into t1 values (1, '1'); 398INSERT into t1 values (2, '5'); 399INSERT into t1 values (30, '4'); 400INSERT into t1 values (35, '2'); 401select * from t1 force index (b) where b > '0' order by b; 402a b 4031 1 40435 2 40530 4 4062 5 407drop table t1; 408CREATE TABLE t1 ( 409a int not null, 410b varchar(10) not null, 411primary key(a), 412index (b(5))) 413partition by range (a) 414partitions 2 415(partition x1 values less than (25), 416partition x2 values less than (100)); 417INSERT into t1 values (1, '1'); 418INSERT into t1 values (2, '5'); 419INSERT into t1 values (30, '4'); 420INSERT into t1 values (35, '2'); 421select * from t1 force index (b) where b > '0' order by b; 422a b 4231 1 42435 2 42530 4 4262 5 427drop table t1; 428CREATE TABLE t1 ( 429a int not null, 430b varchar(10) binary not null, 431primary key(a), 432index (b)) 433partition by range (a) 434partitions 2 435(partition x1 values less than (25), 436partition x2 values less than (100)); 437INSERT into t1 values (1, '1'); 438INSERT into t1 values (2, '5'); 439INSERT into t1 values (30, '4'); 440INSERT into t1 values (35, '2'); 441select * from t1 force index (b) where b > '0' order by b; 442a b 4431 1 44435 2 44530 4 4462 5 447drop table t1; 448CREATE TABLE t1 ( 449a int not null, 450b tinytext not null, 451primary key(a), 452index (b(10))) 453partition by range (a) 454partitions 2 455(partition x1 values less than (25), 456partition x2 values less than (100)); 457INSERT into t1 values (1, '1'); 458INSERT into t1 values (2, '5'); 459INSERT into t1 values (30, '4'); 460INSERT into t1 values (35, '2'); 461select * from t1 force index (b) where b > '0' order by b; 462a b 4631 1 46435 2 46530 4 4662 5 467drop table t1; 468CREATE TABLE t1 ( 469a int not null, 470b text not null, 471primary key(a), 472index (b(10))) 473partition by range (a) 474partitions 2 475(partition x1 values less than (25), 476partition x2 values less than (100)); 477INSERT into t1 values (1, '1'); 478INSERT into t1 values (2, '5'); 479INSERT into t1 values (30, '4'); 480INSERT into t1 values (35, '2'); 481select * from t1 force index (b) where b > '0' order by b; 482a b 4831 1 48435 2 48530 4 4862 5 487drop table t1; 488CREATE TABLE t1 ( 489a int not null, 490b mediumtext not null, 491primary key(a), 492index (b(10))) 493partition by range (a) 494partitions 2 495(partition x1 values less than (25), 496partition x2 values less than (100)); 497INSERT into t1 values (1, '1'); 498INSERT into t1 values (2, '5'); 499INSERT into t1 values (30, '4'); 500INSERT into t1 values (35, '2'); 501select * from t1 force index (b) where b > '0' order by b; 502a b 5031 1 50435 2 50530 4 5062 5 507drop table t1; 508CREATE TABLE t1 ( 509a int not null, 510b longtext not null, 511primary key(a), 512index (b(10))) 513partition by range (a) 514partitions 2 515(partition x1 values less than (25), 516partition x2 values less than (100)); 517INSERT into t1 values (1, '1'); 518INSERT into t1 values (2, '5'); 519INSERT into t1 values (30, '4'); 520INSERT into t1 values (35, '2'); 521select * from t1 force index (b) where b > '0' order by b; 522a b 5231 1 52435 2 52530 4 5262 5 527drop table t1; 528CREATE TABLE t1 ( 529a int not null, 530b enum('1','2', '4', '5') not null, 531primary key(a), 532index (b)) 533partition by range (a) 534partitions 2 535(partition x1 values less than (25), 536partition x2 values less than (100)); 537INSERT into t1 values (1, '1'); 538INSERT into t1 values (2, '5'); 539INSERT into t1 values (30, '4'); 540INSERT into t1 values (35, '2'); 541select * from t1 force index (b) where b >= '1' order by b; 542a b 5431 1 54435 2 54530 4 5462 5 547drop table t1; 548CREATE TABLE t1 ( 549a int not null, 550b set('1','2', '4', '5') not null, 551primary key(a), 552index (b)) 553partition by range (a) 554partitions 2 555(partition x1 values less than (25), 556partition x2 values less than (100)); 557INSERT into t1 values (1, '1'); 558INSERT into t1 values (2, '5'); 559INSERT into t1 values (30, '4'); 560INSERT into t1 values (35, '2'); 561select * from t1 force index (b) where b >= '1' order by b; 562a b 5631 1 56435 2 56530 4 5662 5 567drop table t1; 568CREATE TABLE t1 ( 569a int not null, 570b date not null, 571primary key(a), 572index (b)) 573partition by range (a) 574partitions 2 575(partition x1 values less than (25), 576partition x2 values less than (100)); 577INSERT into t1 values (1, '2001-01-01'); 578INSERT into t1 values (2, '2005-01-01'); 579INSERT into t1 values (30, '2004-01-01'); 580INSERT into t1 values (35, '2002-01-01'); 581select * from t1 force index (b) where b > '2000-01-01' order by b; 582a b 5831 2001-01-01 58435 2002-01-01 58530 2004-01-01 5862 2005-01-01 587drop table t1; 588CREATE TABLE t1 ( 589a int not null, 590b datetime not null, 591primary key(a), 592index (b)) 593partition by range (a) 594partitions 2 595(partition x1 values less than (25), 596partition x2 values less than (100)); 597INSERT into t1 values (1, '2001-01-01 00:00:00'); 598INSERT into t1 values (2, '2005-01-01 00:00:00'); 599INSERT into t1 values (30, '2004-01-01 00:00:00'); 600INSERT into t1 values (35, '2002-01-01 00:00:00'); 601select * from t1 force index (b) where b > '2000-01-01 00:00:00' order by b; 602a b 6031 2001-01-01 00:00:00 60435 2002-01-01 00:00:00 60530 2004-01-01 00:00:00 6062 2005-01-01 00:00:00 607drop table t1; 608CREATE TABLE t1 ( 609a int not null, 610b timestamp not null, 611primary key(a), 612index (b)) 613partition by range (a) 614partitions 2 615(partition x1 values less than (25), 616partition x2 values less than (100)); 617INSERT into t1 values (1, '2001-01-01 00:00:00'); 618INSERT into t1 values (2, '2005-01-01 00:00:00'); 619INSERT into t1 values (30, '2004-01-01 00:00:00'); 620INSERT into t1 values (35, '2002-01-01 00:00:00'); 621select * from t1 force index (b) where b > '2000-01-01 00:00:00' order by b; 622a b 6231 2001-01-01 00:00:00 62435 2002-01-01 00:00:00 62530 2004-01-01 00:00:00 6262 2005-01-01 00:00:00 627drop table t1; 628CREATE TABLE t1 ( 629a int not null, 630b time not null, 631primary key(a), 632index (b)) 633partition by range (a) 634partitions 2 635(partition x1 values less than (25), 636partition x2 values less than (100)); 637INSERT into t1 values (1, '01:00:00'); 638INSERT into t1 values (2, '05:00:00'); 639INSERT into t1 values (30, '04:00:00'); 640INSERT into t1 values (35, '02:00:00'); 641select * from t1 force index (b) where b > '00:00:00' order by b; 642a b 6431 01:00:00 64435 02:00:00 64530 04:00:00 6462 05:00:00 647drop table t1; 648CREATE TABLE t1 ( 649a int not null, 650b year not null, 651primary key(a), 652index (b)) 653partition by range (a) 654partitions 2 655(partition x1 values less than (25), 656partition x2 values less than (100)); 657INSERT into t1 values (1, 2001); 658INSERT into t1 values (2, 2005); 659INSERT into t1 values (30, 2004); 660INSERT into t1 values (35, 2002); 661select * from t1 force index (b) where b > 2000 order by b; 662a b 6631 2001 66435 2002 66530 2004 6662 2005 667drop table t1; 668CREATE TABLE t1 ( 669a int not null, 670b bit(5) not null, 671c int, 672primary key(a), 673index (b)) 674partition by range (a) 675partitions 2 676(partition x1 values less than (25), 677partition x2 values less than (100)); 678INSERT into t1 values (1, b'00001', NULL); 679INSERT into t1 values (2, b'00101', 2); 680INSERT into t1 values (30, b'00100', 2); 681INSERT into t1 values (35, b'00010', NULL); 682select a from t1 force index (b) where b > b'00000' order by b; 683a 6841 68535 68630 6872 688drop table t1; 689CREATE TABLE t1 ( 690a int not null, 691b bit(15) not null, 692c int, 693primary key(a), 694index (b)) 695partition by range (a) 696partitions 2 697(partition x1 values less than (25), 698partition x2 values less than (100)); 699INSERT into t1 values (1, b'000000000000001', NULL); 700INSERT into t1 values (2, b'001010000000101', 2); 701INSERT into t1 values (30, b'001000000000100', 2); 702INSERT into t1 values (35, b'000100000000010', NULL); 703select a from t1 force index (b) where b > b'000000000000000' order by b; 704a 7051 70635 70730 7082 709drop table t1; 710CREATE TABLE t1 ( 711a int not null, 712b int, 713primary key(a), 714index (b)) 715partition by range (a) 716partitions 2 717(partition x1 values less than (25), 718partition x2 values less than (100)); 719INSERT into t1 values (1, 1); 720INSERT into t1 values (5, NULL); 721INSERT into t1 values (2, 4); 722INSERT into t1 values (3, 3); 723INSERT into t1 values (4, 5); 724INSERT into t1 values (7, 1); 725INSERT into t1 values (6, 6); 726INSERT into t1 values (30, 4); 727INSERT into t1 values (35, 2); 728INSERT into t1 values (40, NULL); 729select * from t1 force index (b) where b < 10 OR b IS NULL order by b; 730a b 7315 NULL 73240 NULL 7331 1 7347 1 73535 2 7363 3 7372 4 73830 4 7394 5 7406 6 741select * from t1 force index (b) where b < 10 ORDER BY b; 742a b 7431 1 7447 1 74535 2 7463 3 7472 4 74830 4 7494 5 7506 6 751select * from t1 force index (b) where b < 10 ORDER BY b DESC; 752a b 7536 6 7544 5 75530 4 7562 4 7573 3 75835 2 7597 1 7601 1 761drop table t1; 762create table t1 (a int not null, b int, c varchar(20), key (a,b,c)) 763partition by range (b) 764(partition p0 values less than (5), 765partition p1 values less than (10)); 766INSERT into t1 values (1,1,'1'),(2,2,'2'),(1,3,'3'),(2,4,'4'),(1,5,'5'); 767INSERT into t1 values (2,6,'6'),(1,7,'7'),(2,8,'8'),(1,9,'9'); 768INSERT into t1 values (1, NULL, NULL), (2, NULL, '10'); 769select * from t1 where a = 1 order by a desc, b desc; 770a b c 7711 9 9 7721 7 7 7731 5 5 7741 3 3 7751 1 1 7761 NULL NULL 777select * from t1 where a = 1 order by b desc; 778a b c 7791 9 9 7801 7 7 7811 5 5 7821 3 3 7831 1 1 7841 NULL NULL 785drop table t1; 786