Мне нужно обновить столбец значениями из другой таблицы ... но это происходит вечно или прерывается. Определенная безопасность (isin) может быть указана на нескольких биржах (микрофон) ... поэтому я думаю, что мне нужно иметь два условия в INNER JOIN ... ON (??). Верны ли мои попытки ниже? У меня около 170 000 записей в таблице с 40 000 уникальных изинов.
Первая попытка:
SQL:
SET SESSION SQL_BIG_SELECTS = 1;
UPDATE securities_live t1
INNER JOIN securities_prev t2
ON t1.isin = t2.isin AND t1.mic = t2.mic
SET t1.prev_close = t2.close;
Вторая попытка:
SQL:
SET SESSION SQL_BIG_SELECTS = 1;
UPDATE securities_live t1
INNER JOIN securities_prev t2
ON (t1.isin = t2.isin AND t1.mic = t2.mic)
SET t1.prev_close = t2.close;
Редактировать в отношении индексов для обеих таблиц на данный момент:
Indexes (securities_live):
Primary|Unique=Yes|Packed=no|Column=id|Cardinality=166776|Collation=A
Indexes (securities_prev):
Primary|Unique=Yes|Packed=no|Column=id|Cardinality=166776|Collation=A
В обеих таблицах у меня есть первичный ключ в столбце 'id'. Так, например в таблице securities_live 'Создать новый индекс' один для столбца isin, а другой для столбца mic? Как насчет имени индекса и типа индекса (первичный, индексный, уникальный, полнотекстовый)? Размер