Я пытаюсь просто объединить все строки 12 таблиц.Все таблицы объединены, имеют 115 строк.Однако, если я выполню запрос ниже, я получу следующее при использовании 'объяснения', а также запись в mysql-slow.log, когда установлено 'log-query-not-using-indexes':
Rows_sent: 115 Rows_examined: 1008
Я несколько озадачен тем, как mysql проверяет 1008 строк, когда все, что ему нужно сделать, это просто соединить (ну, 'union') все строки вместе.Любые подсказки или указатели будут высоко оценены.
Вот запрос:
(SELECT id, var_lng_1, 0 as tbl_col FROM tbl1 )
UNION ALL
(SELECT id, var_lng_1, 1 as tbl_col FROM tbl2 )
UNION ALL
(SELECT id, var_lng_1, 2 as tbl_col FROM tbl3 )
UNION ALL
(SELECT id, var_lng_1, 3 as tbl_col FROM tbl4 )
UNION ALL
(SELECT id, var_lng_1, 4 as tbl_col FROM tbl5 )
UNION ALL
(SELECT id, var_lng_1, 5 as tbl_col FROM tbl6 )
UNION ALL
(SELECT id, var_lng_1, 6 as tbl_col FROM tbl7 )
UNION ALL
(SELECT id, var_lng_1, 7 as tbl_col FROM tbl8 )
UNION ALL
(SELECT id, var_lng_1, 8 as tbl_col FROM tbl9 )
UNION ALL
(SELECT id, var_lng_1, 9 as tbl_col FROM tbl10 )
UNION ALL
(SELECT id, var_lng_1, 10 as tbl_col FROM tbl11 )
UNION ALL
(SELECT id, var_lng_1, 11 as tbl_col FROM tbl12 );
Любой вход очень ценится
PS: (на всякий случай, если это будет иметь значение)все идентификаторы являются первичными, tiny_int (3), столбцы auto_increment.Я также пытался выполнить тот же запрос только с идентификаторами (то есть «выбрать идентификатор из ....», но это не имело значения: (
Вывод полного объяснения:
[id] => 1
[select_type] => PRIMARY
[table] => tbl1
[type] => ALL
[possible_keys] =>
[key] =>
[key_len] =>
[ref] =>
[rows] => 7
[Extra] =>
[id] => 2
[select_type] => UNION
[table] => tbl2
[type] => ALL
[possible_keys] =>
[key] =>
[key_len] =>
[ref] =>
[rows] => 18
[Extra] =>
[id] => 3
[select_type] => UNION
[table] => tbl3
[type] => ALL
[possible_keys] =>
[key] =>
[key_len] =>
[ref] =>
[rows] => 8
[Extra] =>
[id] => 4
[select_type] => UNION
[table] => tbl4
[type] => ALL
[possible_keys] =>
[key] =>
[key_len] =>
[ref] =>
[rows] => 10
[Extra] =>
[id] => 5
[select_type] => UNION
[table] => tbl5
[type] => ALL
[possible_keys] =>
[key] =>
[key_len] =>
[ref] =>
[rows] => 11
[Extra] =>
[id] => 6
[select_type] => UNION
[table] => tbl6
[type] => ALL
[possible_keys] =>
[key] =>
[key_len] =>
[ref] =>
[rows] => 14
[Extra] =>
[id] => 7
[select_type] => UNION
[table] => tbl7
[type] => ALL
[possible_keys] =>
[key] =>
[key_len] =>
[ref] =>
[rows] => 10
[Extra] =>
[id] => 8
[select_type] => UNION
[table] => tbl8
[type] => ALL
[possible_keys] =>
[key] =>
[key_len] =>
[ref] =>
[rows] => 6
[Extra] =>
[id] => 9
[select_type] => UNION
[table] => tbl9
[type] => ALL
[possible_keys] =>
[key] =>
[key_len] =>
[ref] =>
[rows] => 3
[Extra] =>
[id] => 10
[select_type] => UNION
[table] => tbl10
[type] => ALL
[possible_keys] =>
[key] =>
[key_len] =>
[ref] =>
[rows] => 2
[Extra] =>
[id] => 11
[select_type] => UNION
[table] => tbl11
[type] => ALL
[possible_keys] =>
[key] =>
[key_len] =>
[ref] =>
[rows] => 6
[Extra] =>
[id] => 12
[select_type] => UNION
[table] => tbl12
[type] => ALL
[possible_keys] =>
[key] =>
[key_len] =>
[ref] =>
[rows] => 20
[Extra] =>
[id] =>
[select_type] => UNION RESULT
[table] => <union1,2,3,4,5,6,7,8,9,10,11,12>
[type] => ALL
[possible_keys] =>
[key] =>
[key_len] =>
[ref] =>
[rows] =>
[Extra] =>