版权声明:本文为博主原创文章,未经博主允许不得转载。 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 条件如果合适的话(无其他更合适的索引选择),必须有索引。