MySQL- where条件 in 条件优化

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sun_ashe/article/details/83378728

文章目录

简介

MySQL的sql语句中,如果in的条件过多,可能会没办法利用索引来进行检索数据,如下:

  • 表结构
mysql> show create table test_in\G
*************************** 1. row ***************************
       Table: test_in
Create Table: CREATE TABLE `test_in` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(10) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `age` (`age`)
) ENGINE=InnoDB AUTO_INCREMENT=10001 DEFAULT CHARSET=utf8mb4
1 row in set (0.00 sec)
  • 可以使用索引进行检索的情况
mysql> explain select name from test_in where age in (1,2,3,4,5,6,7,8,9,10)\G
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: test_in
   partitions: NULL
         type: range
possible_keys: age
          key: age
      key_len: 5
          ref: NULL
         rows: 10
     filtered: 100.00
        Extra: Using index condition
1 row in set, 1 warning (0.00 sec)

  • 不能通过索引检索的情况
explain select name from test_in where age in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000)

探明原因

依然是通过开启optimize_trace来查看,结果如下

                          TRACE: {
  "steps": [
    {
      "join_preparation": {
        "select#": 1,
        "steps": [
          {
            "IN_uses_bisection": true
          },
          {
            "expanded_query": "/* select#1 */ select `test_in`.`name` AS `name` from `test_in` where (`test_in`.`age` in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000))"
          }
        ]
      }
    },
    {
      "join_optimization": {
        "select#": 1,
        "steps": [
          {
            "condition_processing": {
              "condition": "WHERE",
              "original_condition": "(`test_in`.`age` in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000))",
              "steps": [
                {
                  "transformation": "equality_propagation",
                  "resulting_condition": "(`test_in`.`age` in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000))"
                },
                {
                  "transformation": "constant_propagation",
                  "resulting_condition": "(`test_in`.`age` in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000))"
                },
                {
                  "transformation": "trivial_condition_removal",
                  "resulting_condition": "(`test_in`.`age` in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000))"
                }
              ]
            }
          },
          {
            "substitute_generated_columns": {
            }
          },
          {
            "table_dependencies": [
              {
                "table": "`test_in`",
                "row_may_be_null": false,
                "map_bit": 0,
                "depends_on_map_bits": [
                ]
              }
            ]
          },
          {
            "ref_optimizer_key_uses": [
            ]
          },
          {
            "rows_estimation": [
              {
                "table": "`test_in`",
                "range_analysis": {
                  "table_scan": {
                    "rows": 10000,
                    "cost": 2003.1
                  },
                  "potential_range_indexes": [
                    {
                      "index": "PRIMARY",
                      "usable": false,
                      "cause": "not_applicable"
                    },
                    {
                      "index": "age",
                      "usable": true,
                      "key_parts": [
                        "age"
                      ]
                    }
                  ],
                  "setup_range_conditions": [
                  ],
                  "group_index_range": {
                    "chosen": false,
                    "cause": "not_group_by_or_distinct"
                  },
                  "analyzing_range_alternatives": {
                    "range_scan_alternatives": [
                      {
                        "index": "age",
                        "ranges": [
                          "0 <= age <= 0",
                          "1 <= age <= 1",
                          "2 <= age <= 2",
                          "3 <= age <= 3",
                          "4 <= age <= 4",
                          "5 <= age <= 5",
                          "6 <= age <= 6",
                          "7 <= age <= 7",
                          "8 <= age <= 8",
                          "9 <= age <= 9",
                          "10 <= age <= 10",
                          "11 <= age <= 11",
                          "12 <= age <= 12",
                          "13 <= age <= 13",
                          "14 <= age <= 14",
                          "15 <= age <= 15",
                          "16 <= age <= 16",
                          "17 <= age <= 17",
                          "18 <= age <= 18",
                          "19 <= age <= 19",
                          "20 <= age <= 20",
                          "21 <= age <= 21",
                          "22 <= age <= 22",
                          "23 <= age <= 23",
                          "24 <= age <= 24",
                          "25 <= age <= 25",
                          "26 <= age <= 26",
                          "27 <= age <= 27",
                          "28 <= age <= 28",
                          "29 <= age <= 29",
                          "30 <= age <= 30",
                          "31 <= age <= 31",
                          "32 <= age <= 32",
                          "33 <= age <= 33",
                          "34 <= age <= 34",
                          "35 <= age <= 35",
                          "36 <= age <= 36",
                          "37 <= age <= 37",
                          "38 <= age <= 38",
                          "39 <= age <= 39",
                          "40 <= age <= 40",
                          "41 <= age <= 41",
                          "42 <= age <= 42",
                          "43 <= age <= 43",
                          "44 <= age <= 44",
                          "45 <= age <= 45",
                          "46 <= age <= 46",
                          "47 <= age <= 47",
                          "48 <= age <= 48",
                          "49 <= age <= 49",
                          "50 <= age <= 50",
                          "51 <= age <= 51",
                          "52 <= age <= 52",
                          "53 <= age <= 53",
                          "54 <= age <= 54",
                          "55 <= age <= 55",
                          "56 <= age <= 56",
                          "57 <= age <= 57",
                          "58 <= age <= 58",
                          "59 <= age <= 59",
                          "60 <= age <= 60",
                          "61 <= age <= 61",
                          "62 <= age <= 62",
                          "63 <= age <= 63",
                          "64 <= age <= 64",
                          "65 <= age <= 65",
                          "66 <= age <= 66",
                          "67 <= age <= 67",
                          "68 <= age <= 68",
                          "69 <= age <= 69",
                          "70 <= age <= 70",
                          "71 <= age <= 71",
                          "72 <= age <= 72",
                          "73 <= age <= 73",
                          "74 <= age <= 74",
                          "75 <= age <= 75",
                          "76 <= age <= 76",
                          "77 <= age <= 77",
                          "78 <= age <= 78",
                          "79 <= age <= 79",
                          "80 <= age <= 80",
                          "81 <= age <= 81",
                          "82 <= age <= 82",
                          "83 <= age <= 83",
                          "84 <= age <= 84",
                          "85 <= age <= 85",
                          "86 <= age <= 86",
                          "87 <= age <= 87",
                          "88 <= age <= 88",
                          "89 <= age <= 89",
                          "90 <= age <= 90",
                          "91 <= age <= 91",
                          "92 <= age <= 92",
                          "93 <= age <= 93",
                          "94 <= age <= 94",
                          "95 <= age <= 95",
                          "96 <= age <= 96",
                          "97 <= age <= 97",
                          "98 <= age <= 98",
                          "99 <= age <= 99",
                          "100 <= age <= 100",
                          "101 <= age <= 101",
                          "102 <= age <= 102",
                          "103 <= age <= 103",
                          "104 <= age <= 104",
                          "105 <= age <= 105",
                          "106 <= age <= 106",
                          "107 <= age <= 107",
                          "108 <= age <= 108",
                          "109 <= age <= 109",
                          "110 <= age <= 110",
                          "111 <= age <= 111",
                          "112 <= age <= 112",
                          "113 <= age <= 113",
                          "114 <= age <= 114",
                          "115 <= age <= 115",
                          "116 <= age <= 116",
                          "117 <= age <= 117",
                          "118 <= age <= 118",
                          "119 <= age <= 119",
                          "120 <= age <= 120",
                          "121 <= age <= 121",
                          "122 <= age <= 122",
                          "123 <= age <= 123",
                          "124 <= age <= 124",
                          "125 <= age <= 125",
                          "126 <= age <= 126",
                          "127 <= age <= 127",
                          "128 <= age <= 128",
                          "129 <= age <= 129",
                          "130 <= age <= 130",
                          "131 <= age <= 131",
                          "132 <= age <= 132",
                          "133 <= age <= 133",
                          "134 <= age <= 134",
                          "135 <= age <= 135",
                          "136 <= age <= 136",
                          "137 <= age <= 137",
                          "138 <= age <= 138",
                          "139 <= age <= 139",
                          "140 <= age <= 140",
                          "141 <= age <= 141",
                          "142 <= age <= 142",
                          "143 <= age <= 143",
                          "144 <= age <= 144",
                          "145 <= age <= 145",
                          "146 <= age <= 146",
                          "147 <= age <= 147",
                          "148 <= age <= 148",
                          "149 <= age <= 149",
                          "150 <= age <= 150",
                          "151 <= age <= 151",
                          "152 <= age <= 152",
                          "153 <= age <= 153",
                          "154 <= age <= 154",
                          "155 <= age <= 155",
                          "156 <= age <= 156",
                          "157 <= age <= 157",
                          "158 <= age <= 158",
                          "159 <= age <= 159",
                          "160 <= age <= 160",
                          "161 <= age <= 161",
                          "162 <= age <= 162",
                          "163 <= age <= 163",
                          "164 <= age <= 164",
                          "165 <= age <= 165",
                          "166 <= age <= 166",
                          "167 <= age <= 167",
                          "168 <= age <= 168",
                          "169 <= age <= 169",
                          "170 <= age <= 170",
                          "171 <= age <= 171",
                          "172 <= age <= 172",
                          "173 <= age <= 173",
                          "174 <= age <= 174",
                          "175 <= age <= 175",
                          "176 <= age <= 176",
                          "177 <= age <= 177",
                          "178 <= age <= 178",
                          "179 <= age <= 179",
                          "180 <= age <= 180",
                          "181 <= age <= 181",
                          "182 <= age <= 182",
                          "183 <= age <= 183",
                          "184 <= age <= 184",
                          "185 <= age <= 185",
                          "186 <= age <= 186",
                          "187 <= age <= 187",
                          "188 <= age <= 188",
                          "189 <= age <= 189",
                          "190 <= age <= 190",
                          "191 <= age <= 191",
                          "192 <= age <= 192",
                          "193 <= age <= 193",
                          "194 <= age <= 194",
                          "195 <= age <= 195",
                          "196 <= age <= 196",
                          "197 <= age <= 197",
                          "198 <= age <= 198",
                          "199 <= age <= 199",
                          "200 <= age <= 200",
                          "201 <= age <= 201",
                          "202 <= age <= 202",
                          "203 <= age <= 203",
                          "204 <= age <= 204",
                          "205 <= age <= 205",
                          "206 <= age <= 206",
                          "207 <= age <= 207",
                          "208 <= age <= 208",
                          "209 <= age <= 209",
                          "210 <= age <= 210",
                          "211 <= age <= 211",
                          "212 <= age <= 212",
                          "213 <= age <= 213",
                          "214 <= age <= 214",
                          "215 <= age <= 215",
                          "216 <= age <= 216",
                          "217 <= age <= 217",
                          "218 <= age <= 218",
                          "219 <= age <= 219",
                          "220 <= age <= 220",
                          "221 <= age <= 221",
                          "222 <= age <= 222",
                          "223 <= age <= 223",
                          "224 <= age <= 224",
                          "225 <= age <= 225",
                          "226 <= age <= 226",
                          "227 <= age <= 227",
                          "228 <= age <= 228",
                          "229 <= age <= 229",
                          "230 <= age <= 230",
                          "231 <= age <= 231",
                          "232 <= age <= 232",
                          "233 <= age <= 233",
                          "234 <= age <= 234",
                          "235 <= age <= 235",
                          "236 <= age <= 236",
                          "237 <= age <= 237",
                          "238 <= age <= 238",
                          "239 <= age <= 239",
                          "240 <= age <= 240",
                          "241 <= age <= 241",
                          "242 <= age <= 242",
                          "243 <= age <= 243",
                          "244 <= age <= 244",
                          "245 <= age <= 245",
                          "246 <= age <= 246",
                          "247 <= age <= 247",
                          "248 <= age <= 248",
                          "249 <= age <= 249",
                          "250 <= age <= 250",
                          "251 <= age <= 251",
                          "252 <= age <= 252",
                          "253 <= age <= 253",
                          "254 <= age <= 254",
                          "255 <= age <= 255",
                          "256 <= age <= 256",
                          "257 <= age <= 257",
                          "258 <= age <= 258",
                          "259 <= age <= 259",
                          "260 <= age <= 260",
                          "261 <= age <= 261",
                          "262 <= age <= 262",
                          "263 <= age <= 263",
                          "264 <= age <= 264",
                          "265 <= age <= 265",
                          "266 <= age <= 266",
                          "267 <= age <= 267",
                          "268 <= age <= 268",
                          "269 <= age <= 269",
                          "270 <= age <= 270",
                          "271 <= age <= 271",
                          "272 <= age <= 272",
                          "273 <= age <= 273",
                          "274 <= age <= 274",
                          "275 <= age <= 275",
                          "276 <= age <= 276",
                          "277 <= age <= 277",
                          "278 <= age <= 278",
                          "279 <= age <= 279",
                          "280 <= age <= 280",
                          "281 <= age <= 281",
                          "282 <= age <= 282",
                          "283 <= age <= 283",
                          "284 <= age <= 284",
                          "285 <= age <= 285",
                          "286 <= age <= 286",
                          "287 <= age <= 287",
                          "288 <= age <= 288",
                          "289 <= age <= 289",
                          "290 <= age <= 290",
                          "291 <= age <= 291",
                          "292 <= age <= 292",
                          "293 <= age <= 293",
                          "294 <= age <= 294",
                          "295 <= age <= 295",
                          "296 <= age <= 296",
                          "297 <= age <= 297",
                          "298 <= age <= 298",
                          "299 <= age <= 299",
                          "300 <= age <= 300",
                          "301 <= age <= 301",
                          "302 <= age <= 302",
                          "303 <= age <= 303",
                          "304 <= age <= 304",
                          "305 <= age <= 305",
                          "306 <= age <= 306",
                          "307 <= age <= 307",
                          "308 <= age <= 308",
                          "309 <= age <= 309",
                          "310 <= age <= 310",
                          "311 <= age <= 311",
                          "312 <= age <= 312",
                          "313 <= age <= 313",
                          "314 <= age <= 314",
                          "315 <= age <= 315",
                          "316 <= age <= 316",
                          "317 <= age <= 317",
                          "318 <= age <= 318",
                          "319 <= age <= 319",
                          "320 <= age <= 320",
                          "321 <= age <= 321",
                          "322 <= age <= 322",
                          "323 <= age <= 323",
                          "324 <= age <= 324",
                          "325 <= age <= 325",
                          "326 <= age <= 326",
                          "327 <= age <= 327",
                          "328 <= age <= 328",
                          "329 <= age <= 329",
                          "330 <= age <= 330",
                          "331 <= age <= 331",
                          "332 <= age <= 332",
                          "333 <= age <= 333",
                          "334 <= age <= 334",
                          "335 <= age <= 335",
                          "336 <= age <= 336",
                          "337 <= age <= 337",
                          "338 <= age <= 338",
                          "339 <= age <= 339",
                          "340 <= age <= 340",
                          "341 <= age <= 341",
                          "342 <= age <= 342",
                          "343 <= age <= 343",
                          "344 <= age <= 344",
                          "345 <= age <= 345",
                          "346 <= age <= 346",
                          "347 <= age <= 347",
                          "348 <= age <= 348",
                          "349 <= age <= 349",
                          "350 <= age <= 350",
                          "351 <= age <= 351",
                          "352 <= age <= 352",
                          "353 <= age <= 353",
                          "354 <= age <= 354",
                          "355 <= age <= 355",
                          "356 <= age <= 356",
                          "357 <= age <= 357",
                          "358 <= age <= 358",
                          "359 <= age <= 359",
                          "360 <= age <= 360",
                          "361 <= age <= 361",
                          "362 <= age <= 362",
                          "363 <= age <= 363",
                          "364 <= age <= 364",
                          "365 <= age <= 365",
                          "366 <= age <= 366",
                          "367 <= age <= 367",
                          "368 <= age <= 368",
                          "369 <= age <= 369",
                          "370 <= age <= 370",
                          "371 <= age <= 371",
                          "372 <= age <= 372",
                          "373 <= age <= 373",
                          "374 <= age <= 374",
                          "375 <= age <= 375",
                          "376 <= age <= 376",
                          "377 <= age <= 377",
                          "378 <= age <= 378",
                          "379 <= age <= 379",
                          "380 <= age <= 380",
                          "381 <= age <= 381",
                          "382 <= age <= 382",
                          "383 <= age <= 383",
                          "384 <= age <= 384",
                          "385 <= age <= 385",
                          "386 <= age <= 386",
                          "387 <= age <= 387",
                          "388 <= age <= 388",
                          "389 <= age <= 389",
                          "390 <= age <= 390",
                          "391 <= age <= 391",
                          "392 <= age <= 392",
                          "393 <= age <= 393",
                          "394 <= age <= 394",
                          "395 <= age <= 395",
                          "396 <= age <= 396",
                          "397 <= age <= 397",
                          "398 <= age <= 398",
                          "399 <= age <= 399",
                          "400 <= age <= 400",
                          "401 <= age <= 401",
                          "402 <= age <= 402",
                          "403 <= age <= 403",
                          "404 <= age <= 404",
                          "405 <= age <= 405",
                          "406 <= age <= 406",
                          "407 <= age <= 407",
                          "408 <= age <= 408",
                          "409 <= age <= 409",
                          "410 <= age <= 410",
                          "411 <= age <= 411",
                          "412 <= age <= 412",
                          "413 <= age <= 413",
                          "414 <= age <= 414",
                          "415 <= age <= 415",
                          "416 <= age <= 416",
                          "417 <= age <= 417",
                          "418 <= age <= 418",
                          "419 <= age <= 419",
                          "420 <= age <= 420",
                          "421 <= age <= 421",
                          "422 <= age <= 422",
                          "423 <= age <= 423",
                          "424 <= age <= 424",
                          "425 <= age <= 425",
                          "426 <= age <= 426",
                          "427 <= age <= 427",
                          "428 <= age <= 428",
                          "429 <= age <= 429",
                          "430 <= age <= 430",
                          "431 <= age <= 431",
                          "432 <= age <= 432",
                          "433 <= age <= 433",
                          "434 <= age <= 434",
                          "435 <= age <= 435",
                          "436 <= age <= 436",
                          "437 <= age <= 437",
                          "438 <= age <= 438",
                          "439 <= age <= 439",
                          "440 <= age <= 440",
                          "441 <= age <= 441",
                          "442 <= age <= 442",
                          "443 <= age <= 443",
                          "444 <= age <= 444",
                          "445 <= age <= 445",
                          "446 <= age <= 446",
                          "447 <= age <= 447",
                          "448 <= age <= 448",
                          "449 <= age <= 449",
                          "450 <= age <= 450",
                          "451 <= age <= 451",
                          "452 <= age <= 452",
                          "453 <= age <= 453",
                          "454 <= age <= 454",
                          "455 <= age <= 455",
                          "456 <= age <= 456",
                          "457 <= age <= 457",
                          "458 <= age <= 458",
                          "459 <= age <= 459",
                          "460 <= age <= 460",
                          "461 <= age <= 461",
                          "462 <= age <= 462",
                          "463 <= age <= 463",
                          "464 <= age <= 464",
                          "465 <= age <= 465",
                          "466 <= age <= 466",
                          "467 <= age <= 467",
                          "468 <= age <= 468",
                          "469 <= age <= 469",
                          "470 <= age <= 470",
                          "471 <= age <= 471",
                          "472 <= age <= 472",
                          "473 <= age <= 473",
                          "474 <= age <= 474",
                          "475 <= age <= 475",
                          "476 <= age <= 476",
                          "477 <= age <= 477",
                          "478 <= age <= 478",
                          "479 <= age <= 479",
                          "480 <= age <= 480",
                          "481 <= age <= 481",
                          "482 <= age <= 482",
                          "483 <= age <= 483",
                          "484 <= age <= 484",
                          "485 <= age <= 485",
                          "486 <= age <= 486",
                          "487 <= age <= 487",
                          "488 <= age <= 488",
                          "489 <= age <= 489",
                          "490 <= age <= 490",
                          "491 <= age <= 491",
                          "492 <= age <= 492",
                          "493 <= age <= 493",
                          "494 <= age <= 494",
                          "495 <= age <= 495",
                          "496 <= age <= 496",
                          "497 <= age <= 497",
                          "498 <= age <= 498",
                          "499 <= age <= 499",
                          "500 <= age <= 500",
                          "501 <= age <= 501",
                          "502 <= age <= 502",
                          "503 <= age <= 503",
                          "504 <= age <= 504",
                          "505 <= age <= 505",
                          "506 <= age <= 506",
                          "507 <= age <= 507",
                          "508 <= age <= 508",
                          "509 <= age <= 509",
                          "510 <= age <= 510",
                          "511 <= age <= 511",
                          "512 <= age <= 512",
                          "513 <= age <= 513",
                          "514 <= age <= 514",
                          "515 <= age <= 515",
                          "516 <= age <= 516",
                          "517 <= age <= 517",
                          "518 <= age <= 518",
                          "519 <= age <= 519",
                          "520 <= age <= 520",
                          "521 <= age <= 521",
                          "522 <= age <= 522",
                          "523 <= age <= 523",
                          "524 <= age <= 524",
                          "525 <= age <= 525",
                          "526 <= age <= 526",
                          "527 <= age <= 527",
                          "528 <= age <= 528",
                          "529 <= age <= 529",
                          "530 <= age <= 530",
                          "531 <= age <= 531",
                          "532 <= age <= 532",
                          "533 <= age <= 533",
                          "534 <= age <= 534",
                          "535 <= age <= 535",
                          "536 <= age <= 536",
                          "537 <= age <= 537",
                          "538 <= age <= 538",
                          "539 <= age <= 539",
                          "540 <= age <= 540",
                          "541 <= age <= 541",
                          "542 <= age <= 542",
                          "543 <= age <= 543",
                          "544 <= age <= 544",
                          "545 <= age <= 545",
                          "546 <= age <= 546",
                          "547 <= age <= 547",
                          "548 <= age <= 548",
                          "549 <= age <= 549",
                          "550 <= age <= 550",
                          "551 <= age <= 551",
                          "552 <= age <= 552",
                          "553 <= age <= 553",
                          "554 <= age <= 554",
                          "555 <= age <= 555",
                          "556 <= age <= 556",
                          "557 <= age <= 557",
                          "558 <= age <= 558",
                          "559 <= age <= 559",
                          "560 <= age <= 560",
                          "561 <= age <= 561",
                          "562 <= age <= 562",
                          "563 <= age <= 563",
                          "564 <= age <= 564",
                          "565 <= age <= 565",
                          "566 <= age <= 566",
                          "567 <= age <= 567",
                          "568 <= age <= 568",
                          "569 <= age <= 569",
                          "570 <= age <= 570",
                          "571 <= age <= 571",
                          "572 <= age <= 572",
                          "573 <= age <= 573",
                          "574 <= age <= 574",
                          "575 <= age <= 575",
                          "576 <= age <= 576",
                          "577 <= age <= 577",
                          "578 <= age <= 578",
                          "579 <= age <= 579",
                          "580 <= age <= 580",
                          "581 <= age <= 581",
                          "582 <= age <= 582",
                          "583 <= age <= 583",
                          "584 <= age <= 584",
                          "585 <= age <= 585",
                          "586 <= age <= 586",
                          "587 <= age <= 587",
                          "588 <= age <= 588",
                          "589 <= age <= 589",
                          "590 <= age <= 590",
                          "591 <= age <= 591",
                          "592 <= age <= 592",
                          "593 <= age <= 593",
                          "594 <= age <= 594",
                          "595 <= age <= 595",
                          "596 <= age <= 596",
                          "597 <= age <= 597",
                          "598 <= age <= 598",
                          "599 <= age <= 599",
                          "600 <= age <= 600",
                          "601 <= age <= 601",
                          "602 <= age <= 602",
                          "603 <= age <= 603",
                          "604 <= age <= 604",
                          "605 <= age <= 605",
                          "606 <= age <= 606",
                          "607 <= age <= 607",
                          "608 <= age <= 608",
                          "609 <= age <= 609",
                          "610 <= age <= 610",
                          "611 <= age <= 611",
                          "612 <= age <= 612",
                          "613 <= age <= 613",
                          "614 <= age <= 614",
                          "615 <= age <= 615",
                          "616 <= age <= 616",
                          "617 <= age <= 617",
                          "618 <= age <= 618",
                          "619 <= age <= 619",
                          "620 <= age <= 620",
                          "621 <= age <= 621",
                          "622 <= age <= 622",
                          "623 <= age <= 623",
                          "624 <= age <= 624",
                          "625 <= age <= 625",
                          "626 <= age <= 626",
                          "627 <= age <= 627",
                          "628 <= age <= 628",
                          "629 <= age <= 629",
                          "630 <= age <= 630",
                          "631 <= age <= 631",
                          "632 <= age <= 632",
                          "633 <= age <= 633",
                          "634 <= age <= 634",
                          "635 <= age <= 635",
                          "636 <= age <= 636",
                          "637 <= age <= 637",
                          "638 <= age <= 638",
                          "639 <= age <= 639",
                          "640 <= age <= 640",
                          "641 <= age <= 641",
                          "642 <= age <= 642",
                          "643 <= age <= 643",
                          "644 <= age <= 644",
                          "645 <= age <= 645",
                          "646 <= age <= 646",
                          "647 <= age <= 647",
                          "648 <= age <= 648",
                          "649 <= age <= 649",
                          "650 <= age <= 650",
                          "651 <= age <= 651",
                          "652 <= age <= 652",
                          "653 <= age <= 653",
                          "654 <= age <= 654",
                          "655 <= age <= 655",
                          "656 <= age <= 656",
                          "657 <= age <= 657",
                          "658 <= age <= 658",
                          "659 <= age <= 659",
                          "660 <= age <= 660",
                          "661 <= age <= 661",
                          "662 <= age <= 662",
                          "663 <= age <= 663",
                          "664 <= age <= 664",
                          "665 <= age <= 665",
                          "666 <= age <= 666",
                          "667 <= age <= 667",
                          "668 <= age <= 668",
                          "669 <= age <= 669",
                          "670 <= age <= 670",
                          "671 <= age <= 671",
                          "672 <= age <= 672",
                          "673 <= age <= 673",
                          "674 <= age <= 674",
                          "675 <= age <= 675",
                          "676 <= age <= 676",
                          "677 <= age <= 677",
                          "678 <= age <= 678",
                          "679 <= age <= 679",
                          "680 <= age <= 680",
                          "681 <= age <= 681",
                          "682 <= age <= 682",
                          "683 <= age <= 683",
                          "684 <= age <= 684",
                          "685 <= age <= 685",
                          "686 <= age <= 686",
                          "687 <= age <= 687",
                          "688 <= age <= 688",
                          "689 <= age <= 689",
                          "690 <= age <= 690",
                          "691 <= age <= 691",
                          "692 <= age <= 692",
                          "693 <= age <= 693",
                          "694 <= age <= 694",
                          "695 <= age <= 695",
                          "696 <= age <= 696",
                          "697 <= age <= 697",
                          "698 <= age <= 698",
                          "699 <= age <= 699",
                          "700 <= age <= 700",
                          "701 <= age <= 701",
                          "702 <= age <= 702",
                          "703 <= age <= 703",
                          "704 <= age <= 704",
                          "705 <= age <= 705",
                          "706 <= age <= 706",
                          "707 <= age <= 707",
                          "708 <= age <= 708",
                          "709 <= age <= 709",
                          "710 <= age <= 710",
                          "711 <= age <= 711",
                          "712 <= age <= 712",
                          "713 <= age <= 713",
                          "714 <= age <= 714",
                          "715 <= age <= 715",
                          "716 <= age <= 716",
                          "717 <= age <= 717",
                          "718 <= age <= 718",
                          "719 <= age <= 719",
                          "720 <= age <= 720",
                          "721 <= age <= 721",
                          "722 <= age <= 722",
                          "723 <= age <= 723",
                          "724 <= age <= 724",
                          "725 <= age <= 725",
                          "726 <= age <= 726",
                          "727 <= age <= 727",
                          "728 <= age <= 728",
                          "729 <= age <= 729",
                          "730 <= age <= 730",
                          "731 <= age <= 731",
                          "732 <= age <= 732",
                          "733 <= age <= 733",
                          "734 <= age <= 734",
                          "735 <= age <= 735",
                          "736 <= age <= 736",
                          "737 <= age <= 737",
                          "738 <= age <= 738",
                          "739 <= age <= 739",
                          "740 <= age <= 740",
                          "741 <= age <= 741",
                          "742 <= age <= 742",
                          "743 <= age <= 743",
                          "744 <= age <= 744",
                          "745 <= age <= 745",
                          "746 <= age <= 746",
                          "747 <= age <= 747",
                          "748 <= age <= 748",
                          "749 <= age <= 749",
                          "750 <= age <= 750",
                          "751 <= age <= 751",
                          "752 <= age <= 752",
                          "753 <= age <= 753",
                          "754 <= age <= 754",
                          "755 <= age <= 755",
                          "756 <= age <= 756",
                          "757 <= age <= 757",
                          "758 <= age <= 758",
                          "759 <= age <= 759",
                          "760 <= age <= 760",
                          "761 <= age <= 761",
                          "762 <= age <= 762",
                          "763 <= age <= 763",
                          "764 <= age <= 764",
                          "765 <= age <= 765",
                          "766 <= age <= 766",
                          "767 <= age <= 767",
                          "768 <= age <= 768",
                          "769 <= age <= 769",
                          "770 <= age <= 770",
                          "771 <= age <= 771",
                          "772 <= age <= 772",
                          "773 <= age <= 773",
                          "774 <= age <= 774",
                          "775 <= age <= 775",
                          "776 <= age <= 776",
                          "777 <= age <= 777",
                          "778 <= age <= 778",
                          "779 <= age <= 779",
                          "780 <= age <= 780",
                          "781 <= age <= 781",
                          "782 <= age <= 782",
                          "783 <= age <= 783",
                          "784 <= age <= 784",
                          "785 <= age <= 785",
                          "786 <= age <= 786",
                          "787 <= age <= 787",
                          "788 <= age <= 788",
                          "789 <= age <= 789",
                          "790 <= age <= 790",
                          "791 <= age <= 791",
                          "792 <= age <= 792",
                          "793 <= age <= 793",
                          "794 <= age <= 794",
                          "795 <= age <= 795",
                          "796 <= age <= 796",
                          "797 <= age <= 797",
                          "798 <= age <= 798",
                          "799 <= age <= 799",
                          "800 <= age <= 800",
                          "801 <= age <= 801",
                          "802 <= age <= 802",
                          "803 <= age <= 803",
                          "804 <= age <= 804",
                          "805 <= age <= 805",
                          "806 <= age <= 806",
                          "807 <= age <= 807",
                          "808 <= age <= 808",
                          "809 <= age <= 809",
                          "810 <= age <= 810",
                          "811 <= age <= 811",
                          "812 <= age <= 812",
                          "813 <= age <= 813",
                          "814 <= age <= 814",
                          "815 <= age <= 815",
                          "816 <= age <= 816",
                          "817 <= age <= 817",
                          "818 <= age <= 818",
                          "819 <= age <= 819",
                          "820 <= age <= 820",
                          "821 <= age <= 821",
                          "822 <= age <= 822",
                          "823 <= age <= 823",
                          "824 <= age <= 824",
                          "825 <= age <= 825",
                          "826 <= age <= 826",
                          "827 <= age <= 827",
                          "828 <= age <= 828",
                          "829 <= age <= 829",
                          "830 <= age <= 830",
                          "831 <= age <= 831",
                          "832 <= age <= 832",
                          "833 <= age <= 833",
                          "834 <= age <= 834",
                          "835 <= age <= 835",
                          "836 <= age <= 836",
                          "837 <= age <= 837",
                          "838 <= age <= 838",
                          "839 <= age <= 839",
                          "840 <= age <= 840",
                          "841 <= age <= 841",
                          "842 <= age <= 842",
                          "843 <= age <= 843",
                          "844 <= age <= 844",
                          "845 <= age <= 845",
                          "846 <= age <= 846",
                          "847 <= age <= 847",
                          "848 <= age <= 848",
                          "849 <= age <= 849",
                          "850 <= age <= 850",
                          "851 <= age <= 851",
                          "852 <= age <= 852",
                          "853 <= age <= 853",
                          "854 <= age <= 854",
                          "855 <= age <= 855",
                          "856 <= age <= 856",
                          "857 <= age <= 857",
                          "858 <= age <= 858",
                          "859 <= age <= 859",
                          "860 <= age <= 860",
                          "861 <= age <= 861",
                          "862 <= age <= 862",
                          "863 <= age <= 863",
                          "864 <= age <= 864",
                          "865 <= age <= 865",
                          "866 <= age <= 866",
                          "867 <= age <= 867",
                          "868 <= age <= 868",
                          "869 <= age <= 869",
                          "870 <= age <= 870",
                          "871 <= age <= 871",
                          "872 <= age <= 872",
                          "873 <= age <= 873",
                          "874 <= age <= 874",
                          "875 <= age <= 875",
                          "876 <= age <= 876",
                          "877 <= age <= 877",
                          "878 <= age <= 878",
                          "879 <= age <= 879",
                          "880 <= age <= 880",
                          "881 <= age <= 881",
                          "882 <= age <= 882",
                          "883 <= age <= 883",
                          "884 <= age <= 884",
                          "885 <= age <= 885",
                          "886 <= age <= 886",
                          "887 <= age <= 887",
                          "888 <= age <= 888",
                          "889 <= age <= 889",
                          "890 <= age <= 890",
                          "891 <= age <= 891",
                          "892 <= age <= 892",
                          "893 <= age <= 893",
                          "894 <= age <= 894",
                          "895 <= age <= 895",
                          "896 <= age <= 896",
                          "897 <= age <= 897",
                          "898 <= age <= 898",
                          "899 <= age <= 899",
                          "900 <= age <= 900",
                          "901 <= age <= 901",
                          "902 <= age <= 902",
                          "903 <= age <= 903",
                          "904 <= age <= 904",
                          "905 <= age <= 905",
                          "906 <= age <= 906",
                          "907 <= age <= 907",
                          "908 <= age <= 908",
                          "909 <= age <= 909",
                          "910 <= age <= 910",
                          "911 <= age <= 911",
                          "912 <= age <= 912",
                          "913 <= age <= 913",
                          "914 <= age <= 914",
                          "915 <= age <= 915",
                          "916 <= age <= 916",
                          "917 <= age <= 917",
                          "918 <= age <= 918",
                          "919 <= age <= 919",
                          "920 <= age <= 920",
                          "921 <= age <= 921",
                          "922 <= age <= 922",
                          "923 <= age <= 923",
                          "924 <= age <= 924",
                          "925 <= age <= 925",
                          "926 <= age <= 926",
                          "927 <= age <= 927",
                          "928 <= age <= 928",
                          "929 <= age <= 929",
                          "930 <= age <= 930",
                          "931 <= age <= 931",
                          "932 <= age <= 932",
                          "933 <= age <= 933",
                          "934 <= age <= 934",
                          "935 <= age <= 935",
                          "936 <= age <= 936",
                          "937 <= age <= 937",
                          "938 <= age <= 938",
                          "939 <= age <= 939",
                          "940 <= age <= 940",
                          "941 <= age <= 941",
                          "942 <= age <= 942",
                          "943 <= age <= 943",
                          "944 <= age <= 944",
                          "945 <= age <= 945",
                          "946 <= age <= 946",
                          "947 <= age <= 947",
                          "948 <= age <= 948",
                          "949 <= age <= 949",
                          "950 <= age <= 950",
                          "951 <= age <= 951",
                          "952 <= age <= 952",
                          "953 <= age <= 953",
                          "954 <= age <= 954",
                          "955 <= age <= 955",
                          "956 <= age <= 956",
                          "957 <= age <= 957",
                          "958 <= age <= 958",
                          "959 <= age <= 959",
                          "960 <= age <= 960",
                          "961 <= age <= 961",
                          "962 <= age <= 962",
                          "963 <= age <= 963",
                          "964 <= age <= 964",
                          "965 <= age <= 965",
                          "966 <= age <= 966",
                          "967 <= age <= 967",
                          "968 <= age <= 968",
                          "969 <= age <= 969",
                          "970 <= age <= 970",
                          "971 <= age <= 971",
                          "972 <= age <= 972",
                          "973 <= age <= 973",
                          "974 <= age <= 974",
                          "975 <= age <= 975",
                          "976 <= age <= 976",
                          "977 <= age <= 977",
                          "978 <= age <= 978",
                          "979 <= age <= 979",
                          "980 <= age <= 980",
                          "981 <= age <= 981",
                          "982 <= age <= 982",
                          "983 <= age <= 983",
                          "984 <= age <= 984",
                          "985 <= age <= 985",
                          "986 <= age <= 986",
                          "987 <= age <= 987",
                          "988 <= age <= 988",
                          "989 <= age <= 989",
                          "990 <= age <= 990",
                          "991 <= age <= 991",
                          "992 <= age <= 992",
                          "993 <= age <= 993",
                          "994 <= age <= 994",
                          "995 <= age <= 995",
                          "996 <= age <= 996",
                          "997 <= age <= 997",
                          "998 <= age <= 998",
                          "999 <= age <= 999",
                          "1000 <= age <= 1000"
                        ],
                        "index_dives_for_eq_ranges": false,
                        "rowid_ordered": false,
                        "using_mrr": false,
                        "index_only": false,
                        "rows": 1001,
                        "cost": 2202.2,
                        "chosen": false,
                        "cause": "cost"
                      }
                    ],
                    "analyzing_roworder_intersect": {
                      "usable": false,
                      "cause": "too_few_roworder_scans"
                    }
                  }
                }
              }
            ]
          },
          {
            "considered_execution_plans": [
              {
                "plan_prefix": [
                ],
                "table": "`test_in`",
                "best_access_path": {
                  "considered_access_paths": [
                    {
                      "rows_to_scan": 10000,
                      "access_type": "scan",
                      "resulting_rows": 1001,
                      "cost": 2001,
                      "chosen": true
                    }
                  ]
                },
                "condition_filtering_pct": 100,
                "rows_for_plan": 1001,
                "cost_for_plan": 2001,
                "chosen": true
              }
            ]
          },
          {
            "attaching_conditions_to_tables": {
              "original_condition": "(`test_in`.`age` in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000))",
              "attached_conditions_computation": [
              ],
              "attached_conditions_summary": [
                {
                  "table": "`test_in`",
                  "attached": "(`test_in`.`age` in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000))"
                }
              ]
            }
          },
          {
            "refine_plan": [
              {
                "table": "`test_in`"
              }
            ]
          }
        ]
      }
    },
    {
      "join_explain": {
        "select#": 1,
        "steps": [
        ]
      }
    }
  ]
}

感兴趣的同学可以逐条分析,这里简述下原因就是,代价估算模型,计算出根据索引检索的成本高于全表扫描的成本,所以选择了全表扫面。可以来看下根据索引和全表扫的时间消耗区别,这个可以通过performance_schema或者profiling来看出来

全表扫时间分布

1	0.00982950	select count(name) from test_in where age in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,
Status	Duration
starting	0.000418
checking permissions	0.000013
Opening tables	0.000023
init	0.000137
System lock	0.000010
optimizing	0.000050
statistics	0.000593
preparing	0.000036
executing	0.000005
Sending data	0.008408
end	0.000034
query end	0.000014
closing tables	0.000012
freeing items	0.000056
cleaning up	0.000022

走age索引的时间分布

2	0.00314750	select count(name) from test_in force index(age) where age in (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,8
Status	Duration
starting	0.000430
checking permissions	0.000012
Opening tables	0.000015
init	0.000120
System lock	0.000010
optimizing	0.000047
statistics	0.000631
preparing	0.000059
executing	0.000006
Sending data	0.001723
end	0.000013
query end	0.000011
closing tables	0.000008
freeing items	0.000043
cleaning up	0.000022

可以看出,全表扫描的时间是走索引时间消耗的三倍,而这张表中只有1w条数据,如果数据量在千万级别,会相差更多,可以自己做实验来查看。

总结

  • in 不可太多
  • in 条件如果合适的话(无其他更合适的索引选择),必须有索引。

猜你喜欢

转载自blog.csdn.net/sun_ashe/article/details/83378728