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条数据,如果数据量在千万级别,会相差更多,可以自己做实验来查看。