Яка різниця між курсором і змінною таблиці в SQL?
Інші важливі речі: Обробка змінних таблиці набагато швидша, ніж обробка курсору. Раніше я казав, що курсор блокує вихідну таблицю рядків, тож якщо ми використовуємо курсор неправильно, то мертве блокування буде піднято. Якщо взяти до уваги всі ці випадки, то змінна таблиці набагато безпечніша для обробки даних рядок за рядком. 21 жовтня 2013 р.
Змінна таблиці є тип даних SQL Server, який використовується для зберігання тимчасових даних, подібних до тимчасової таблиці. Особливості табличних змінних такі: Таблична змінна доступна лише в поточному пакетному запиті. Змінна таблиці не може змінити своє визначення.
Для доступу до інформації можна використовувати явний курсор, який називає робочу область. Або ви можете використовувати змінну-курсор, яка вказує на робочу область. Тоді як курсор завжди посилається на ту саму робочу область запиту, змінна курсора може посилатися на різні робочі області.
Курсори кращі, коли вам потрібно виконати кілька операцій одну за одною в кожному рядку вашої фізичної таблиці. Отже, у пам’яті буде лише один рядок за раз. Однак тимчасові таблиці мають повні дані таблиці в пам’яті, також вам потрібно підтримувати додаткову змінну для цілей індексу циклу.
Тимчасові таблиці — це фізичні об’єкти, які зберігаються в базі даних tempdb і мають статистику та індекси. Змінні таблиці – це логічні об'єкти, які зберігаються в пам'яті і не мають статистики чи індексів.
Недолік табличних змінних – ви не можете змінити їх після створення.