Эффективность SQL.Перестройте таблицу или сравните каждую строку - PullRequest
1 голос
/ 20 февраля 2012

У меня есть функция обновления.Который должен будет сравнить каждую строку заданных данных с базой данных.Если он не существует, вставьте новые данные, иначе пропустите его.

Но мне было интересно, будет ли гораздо эффективнее перестроить всю таблицу данных?Вместо того, чтобы сравнивать его построчно, я просто удаляю всю таблицу и снова вставляю все данные?

Что гораздо эффективнее?

1 Ответ

1 голос
/ 20 февраля 2012

Для больших изменений восстановление таблицы может быть наиболее эффективным.Но только если вы используете усеченную таблицу.«Удалить из x» без указания места может быть даже медленнее.

Единственный способ узнать, где находится переломный момент, - это измерить.

Вы можете усечь таблицу, только еслине ссылается на внешние ключи.Поэтому вам может потребоваться удалить / отключить перед усечением таблицы.

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