Мне нужно создать базу данных, которая должна представлять доступные в настоящее время торренты на торрент-трекере и обновлять ее полностью каждый день или около того, заменяя ранее сохраненные данные и удаляя записи о тех торрентах, которые были удалены с сайта.Как заменить всю таблицу
Как я могу это сделать? Если я просто собираю новые данные во временной таблице, а затем пытаюсь сделать DROP TABLE
и переименовать временную таблицу в имя основной таблицы, я сделаю другие ресурсы, которые также используют этот БД, неспособный выполнять свою работу в течение некоторого периода времени. Или это лучший способ сделать это в любом случае, и я должен просто выполнять эти операции в одной транзакции?
Я собираюсь использовать MySQL или PostgreSQL, но я могу изменить эту идею тем, что вы мне дадите.
Итак, 'TRUNCATE TABLE' и множество инструкций' INSERT' в одной и, возможно, огромной транзакции? – FrozenHeart
Чтобы ограничить количество операторов вставки, вы можете использовать 'batch insert' (не уверен, что это правильное имя.) В любом случае в документации говорится, что это быстро. – Marichyasana