У меня есть таблица с одной колонке (около 1 миллиона строк):приращение счетчика поле строки, если та же строка существует в другой таблице
Table A (InnoDB)
ColA (no index, no primary key)
У меня также есть таблица (3 миллиона строк):
Table B (InnoDB)
ColA (PK INDEX) | count
Таблица B является надмножеством таблицы A. Таблица B содержит каждую строку, в которой я нуждаюсь, в то время как таблица A содержит только некоторые строки. Я хочу увеличить поле count таблицы B на 1 для каждой строки, которая существует в таблице A. Проблема заключается в том, что таблица A довольно велика, поэтому я не могу использовать обычную команду UPDATE с предложением where, потому что предложение where будет иметь 1 миллионов условий. Я действительно ищу наиболее оптимизированный способ с точки зрения производительности, чтобы увеличить эти поля. Решение, которое я могу думать:
UPDATE TABLE_B set count = count + 1 where ColA IN (SELECT ColA FROM TABLE_A)
Но для этого потребуется два полных индексных сканирований на обеих таблицах, поэтому я не уверен, что это самый быстрый способ сделать эту задачу.
Почему нижний уровень? – user2924127