|
один и тот же запрос во View и напрямки имеет разный план запроса. В чем причина?
|
|||
---|---|---|---|
#18+
один и тот же запрос во View и напрямки имеет разный план запроса. В чем причина? суть есть таблица: авторCREATE TABLE `sensor_parameter_value` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'заменен bigint20', `sensor_parameter_id` int NOT NULL, `date_time` datetime(6) NOT NULL COMMENT 'колонка с микрокодомDATETIME(6)DATETIME(6)', `value` varchar(50) NOT NULL, `status_id` int NOT NULL, PRIMARY KEY (`id`), KEY `fk_sensor_parameter_value_sensor_parameter1_idx` (`sensor_parameter_id`), KEY `fk_sensor_parameter_value_status1_idx` (`status_id`), KEY `fk_sensor_parameter_value_key2_idx` (`sensor_parameter_id`,`date_time`) USING BTREE, KEY `fk_sensor_parameter_value_date_time_idx` (`date_time`), KEY `fk_sensor_parameter_value_value_idx` (`value`) USING BTREE, CONSTRAINT `fk_sensor_parameter_value_status1` FOREIGN KEY (`status_id`) REFERENCES `status` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=7199109938 DEFAULT CHARSET=utf8 COMMENT='Значения параметров датчиков'; делаю к ней представление: авторCREATE ALGORITHM = UNDEFINED DEFINER = `amicum_system`@`%` SQL SECURITY DEFINER VIEW `view_sensor_parameter_value_maxDate` AS SELECT `sensor_parameter_value`.`sensor_parameter_id` AS `sensor_parameter_id`, MAX(`sensor_parameter_value`.`date_time`) AS `date_time_last` FROM `sensor_parameter_value` GROUP BY `sensor_parameter_value`.`sensor_parameter_id` оно дает такой план запроса: автор1 PRIMARY <derived2> ALL 1572527 100.00 2 DERIVED sensor_parameter_value range fk_sensor_parameter_value_sensor_parameter1_idx,fk_sensor_parameter_value_key2_idx fk_sensor_parameter_value_key2_idx 4 1572527 100.00 Using index for group-by и данные не приезжают. а если я просто выполню запрос: авторEXPLAIN SELECT `sensor_parameter_value`.`sensor_parameter_id` AS `sensor_parameter_id`, MAX(`sensor_parameter_value`.`date_time`) AS `date_time_last` FROM `sensor_parameter_value` GROUP BY `sensor_parameter_value`.`sensor_parameter_id` то план запроса такой: автор1 SIMPLE sensor_parameter_value range fk_sensor_parameter_value_sensor_parameter1_idx,fk_sensor_parameter_value_key2_idx fk_sensor_parameter_value_key2_idx 4 1572527 100.00 Using index for group-by и все работает. Что я делаю не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2020, 09:22 |
|
один и тот же запрос во View и напрямки имеет разный план запроса. В чем причина?
|
|||
---|---|---|---|
#18+
Да один и тот же план! Если сравниваешь вьюв с запросом, то запрос надо оборачивать в SELECT * FROM (текст запроса). ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2020, 10:02 |
|
один и тот же запрос во View и напрямки имеет разный план запроса. В чем причина?
|
|||
---|---|---|---|
#18+
Огромное спасибо за ответ, очень помогли. <derived2> - это создание временной таблицы? дело в том, что сам запрос выполняется, но если его обернуть в подзапрос то все плохо. верно ли я понимаю, что причина в том, что создается временная таблица, и причина в неверном конфиге mysql? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2020, 12:14 |
|
один и тот же запрос во View и напрямки имеет разный план запроса. В чем причина?
|
|||
---|---|---|---|
#18+
xbz верно ли я понимаю, что причина в том, что создается временная таблица Да. Или, если формулировать строго, то "представление материализуется". Большое оно... xbz причина в неверном конфиге mysql? Весьма вряд ли. Куда ещё может MySQL деть полтора миллиона записей, как не на диск? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.11.2020, 15:15 |
|
один и тот же запрос во View и напрямки имеет разный план запроса. В чем причина?
|
|||
---|---|---|---|
#18+
вопрос в том, как узнать где лежат временные таблицы: в оперативке или на винте. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 04:16 |
|
один и тот же запрос во View и напрямки имеет разный план запроса. В чем причина?
|
|||
---|---|---|---|
#18+
Да в общем никак. Разве что, выполняя запрос без "соседей", смотреть, не появляются ли на диске временные файлы. Вот только нужность этих знаний, с моей точки зрения, нулевая. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 08:08 |
|
|
start [/forum/topic.php?fid=47&msg=40015849&tid=1828316]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
137ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 242ms |
0 / 0 |