Увеличение скорости в больших данных SQL - PullRequest
0 голосов
/ 19 мая 2019

У меня есть таблица из 50 миллионов записей с 17 столбцами. Я хочу опубликовать данные в некоторых таблицах. Я построил несколько таблиц для этого. Я написал сценарий sql для этой работы. Но скорость этого скрипта очень низкая. Основная проблема заключается в том, что прежде чем я хочу вставить запись в таблицу, я должен проверить, не существует ли эта запись. Конечно, я уже провел некоторую оптимизацию в своем коде. Например, я заменяю курсор на оператор while. Но все равно скорость очень низкая. Что я могу сделать для увеличения скорости и оптимизации?

1 Ответ

1 голос
/ 19 мая 2019

Я должен проверить таблицу, чтобы не было этой записи.

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

create unique index unq_t_col1_col2_col3 on t(col1, col2, col3);

База данных вернет ошибку, если вы попытаетесь вставить дубликат.

Это стандартная функциональность и должна быть доступна в любой базе данных. Но вы должны пометить свой вопрос в базе данных, которую вы используете, и предоставить больше информации о том, что вы подразумеваете под дубликатом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...