УДАЛИТЬ, ВСТАВИТЬ против ОБНОВЛЕНИЯ || ВСТАВИТЬ - PullRequest
2 голосов
/ 26 октября 2009

У меня есть таблица на SQL, которая будет обновляться ежедневно. Что лучше, удалить существующую таблицу и заново вставить старые и новые значения, или обновить существующие значения, если они были изменены, и добавить новые?

Ответы [ 4 ]

7 голосов
/ 26 октября 2009

Если большая часть данных изменяется, и нет необходимости в проверках целостности, откатах и ​​т. Д., усечение вашей таблицы будет наиболее эффективным. И затем, конечно, заново все вставить.

Лучшее решение зависит от обстоятельств и требований. Тем не менее, как правило, я бы не рекомендовал полностью удалять таблицу.

3 голосов
/ 26 октября 2009

Определенно, чтобы обновить существующие значения в таблице.

Вам не следует часто удалять таблицу и создавать ее заново, чтобы изменить некоторые значения.

Вы должны использовать вставку, обновление и удаление, чтобы вставить новые значения в таблицу, обновить любые существующие, которые изменились, и удалить те, которые вам больше не нужны. Если вы действительно хотите очистить таблицу, вы можете выполнить «delete from [tablename]» с предложением no where, и это очистит все значения из таблицы, но не стоит удалять всю таблицу и создавать ее заново.

2 голосов
/ 26 октября 2009

Зависит от того, что вам нужно ... полная очистка / замена прекрасно работает, если все, что вам нужно, это "живой" массив данных, например, активные записи.

Теперь, если вам нужна какая-либо история, вам нужно будет выполнить маршрут обновления / вставки, но для любых неактивных записей потребуется флаг с указанием такого.

Я бы почти всегда выбирал метод обновления / вставки, поскольку вы не теряете никакие данные, и в тот момент, когда у вас их нет, наступает момент, когда кому-то это нужно.

0 голосов
/ 26 октября 2009

Зачем вам удалять старую таблицу и заново вставлять старые значения? Вставить и обновить. Еще некоторые особенности того, что вы пытаетесь выполнить, могут помочь дать лучший ответ.

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