powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / MySQL клиент зависает при выполнении запроса left join
9 сообщений из 9, страница 1 из 1
MySQL клиент зависает при выполнении запроса left join
    #39953583
vit332
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые форумчане. Помогите с возникшей проблемой.

MySQL клиент уже 6й час выполняет запрос:

create table 555 as
(SELECT * from IMAGES left join Zexel on
IMAGES.UFIELD00=Zexel.UFIELD02Z)

Explain запроса:

explain SELECT * from IMAGES left join Zexel on IMAGES.UFIELD00=Zexel.UFIELD02Z

id|select_type|table. |partitions|type|possible_keys |key|key_len|ref|rows |filtered|Extra |
--|------------|---------|-----------|-----|-----------------|---|---------|---|---------|--------|--------------------------------------------------|
1|SIMPLE |IMAGES| |ALL | | | | |3326818| 100| |
1|SIMPLE |Zexel | |ALL | | | | | 143681| 100|Using where; Using join buffer (Block Nested Loop)|

Информация по объединяемым таблицам:

CREATE TABLE `IMAGES` (
`IMGNAME` char(10) DEFAULT NULL,
`LINENUM` int(11) DEFAULT NULL,
`IMGLABEL` varbinary(15) DEFAULT NULL,
`UFIELD00` int(11) DEFAULT NULL,
`FINFO` char(2) DEFAULT NULL,
`FPIECE` char(2) DEFAULT NULL,
`FPIECE_` char(1) DEFAULT NULL,
`UFIELD01` int(11) DEFAULT NULL,
`UFIELD02` int(11) DEFAULT NULL,
`XPOS` int(11) DEFAULT NULL,
`YPOS` int(11) DEFAULT NULL,
`WIDTH` int(11) DEFAULT NULL,
`HEIGHT` int(11) DEFAULT NULL,
KEY `index1` (`UFIELD00`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

CREATE TABLE `Zexel` (
`LINENUMZ` int(11) DEFAULT NULL,
`UFIELD00Z` varbinary(10) DEFAULT NULL,
`UFIELD01Z` char(1) DEFAULT NULL,
`UFIELD02Z` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8

Версия MySQL на сервере 5.7.29
Пробовал выполнять его и на сервере с MySQL 5.5.64-MariaDB - тоже процесс шел больше часа, но прервался из-за обрыва соединения. У таблицы IMAGES пробовал менять движок на MyISAM - не помогает.
...
Рейтинг: 0 / 0
MySQL клиент зависает при выполнении запроса left join
    #39953585
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во-первых, тут есть форматирование, после которого нечитаемая "лапша" превращается в красиво оформленный и подсвеченный код или форматированный текст.

Во-вторых, есть кнопка Просмотр, которая позволяет убедиться, что теги форматирования применены правильно.

И, в третьих - где статистика по наполнению таблиц? количество записей, количество соответствий и пр.?
...
Рейтинг: 0 / 0
MySQL клиент зависает при выполнении запроса left join
    #39953591
vit332
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
По форматированию - учту.
Статистику таблиц прилагаю в скриншоте.
По количеству соответствий - не совсем понимаю откуда взять эти данные..
...
Рейтинг: 0 / 0
MySQL клиент зависает при выполнении запроса left join
    #39953592
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vit332,
Вы прикалываетесь, что ли, в честь пятницы? Спасибо, развлекли.
...
Рейтинг: 0 / 0
MySQL клиент зависает при выполнении запроса left join
    #39953607
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vit332,

на поле`UFIELD02Z` int(11) может индекс сделать?
Код: sql
1.
2.
ALTER TABLE `Zexel` 
ADD INDEX `idx_zexel_ufield02z` (`UFIELD02Z`);
...
Рейтинг: 0 / 0
MySQL клиент зависает при выполнении запроса left join
    #39953623
vit332
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex_Ustinov,
Спасибо, попробую. Если завтра до утра не выполнится запрос то остановлю его и сделаю индекс.
...
Рейтинг: 0 / 0
MySQL клиент зависает при выполнении запроса left join
    #39953636
mini.weblab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) а просто SELECT выполнить получается или нет?
2) попробовать убрать скобки (в MySQL документации скобок нет)
3) не смешивать db engines
...
Рейтинг: 0 / 0
MySQL клиент зависает при выполнении запроса left join
    #39953637
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Да, индекс.
2) Настоятельно рекомендую в запросе полностью описать структуру создаваемой таблицы, и указать список копируемых в неё полей. Вряд ли нужны все...
3) Интересно, на какое количество итоговых записей Вы рассчитываете? поскольку ни одно из участвующих в связывании полей не уникально - потенциально результат может содержать до полутриллиона записей...
...
Рейтинг: 0 / 0
MySQL клиент зависает при выполнении запроса left join
    #39953672
vit332
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Создал индекс поля UFIELD02Z у таблицы Zexel по совету Alex_Ustinov и Akina
Сделал одинаковый движок MyISAM у обоих таблиц по совету mini.weblab (и скобки убрал)
Запрос обработался за 100 секунд.
Получилась результирующая таблица 3460247 записей.
Всем спасибо!

p.s. во вложении explain успешного запроса
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / MySQL клиент зависает при выполнении запроса left join
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]