Яка різниця між вставити в і ВИБРАТИ в?
INTO» створює цільову таблицю, він виключно володіє цією таблицею та працює швидше порівняно з «INSERT… ВИБРАТИ'. Оскільки «INSERT … SELECT» вставляє дані в існуючу таблицю, він працює повільніше та потребує більше ресурсів через більшу кількість логічних читань і більше використання журналу транзакцій.
INSERT INTO SELECT вставляє в існуючу таблицю. SELECT INTO створює нову таблицю та поміщає в неї дані. Усі стовпці в запиті повинні бути названі, щоб кожен стовпець у таблиці мав назву.
Ви б використовували SQL SELECT INTO, коли хочете:
- Створіть резервну копію: створіть копію даних і структури таблиці перед внесенням значних змін або виконанням операцій зі змінення даних.
- Архівація даних: перемістіть історичні або старі дані з однієї таблиці в нову таблицю для цілей архівування, зберігаючи вихідні дані недоторканими.
Якщо ви використовуєте «Вставити» або «Вставити в обидва», дані вставляться в таблицю. Проте Insert into в основному використовується для отримання даних з іншої таблиці за допомогою команди select і вставлення в таблицю, куди ви хочете вставити дані.
Я знаю, що різниця мінімальна для маленьких столів. Наприклад: таблиця має 20 стовпців, 50 мільйонів рядків. У мене був стан DBA, Вставити швидше, оскільки компілятору/аналізатору не потрібно знаходити типи даних стовпця на льоту. Інші кажуть, що Select into швидше.
INTO» створює цільову таблицю, він виключно володіє цією таблицею та працює швидше порівняно з «INSERT… ВИБРАТИ'. Оскільки «INSERT … SELECT» вставляє дані в існуючу таблицю, він працює повільніше та потребує більше ресурсів через більшу кількість логічних читань і більше використання журналу транзакцій.