Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/29: Рейтинг темы: голосов - 29, средняя оценка - 5.00
5 / 5 / 4
Регистрация: 24.03.2010
Сообщений: 241
Записей в блоге: 1

Что быстрее, курсор или While?

14.02.2016, 00:58. Показов 5654. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!

Интересует вопрос, что быстрее в плане исполнения: Курсор или While?

И зависит ли преимущество одного над другим в зависимости об объёма перебираемых строк в таблице ?

И второй вопрос: перебирать более 500 000 строк лучше всего во временной таблице или в физической?

Всё таки, мне кажется, временная - это считай оперативная память, а физическое - это каждый раз обращение к жесткому диску.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.02.2016, 00:58
Ответы с готовыми решениями:

Что быстрее WHERE x=1 или WHERE x IN (1)?
Есть какие-нибудь сведения насчет данных команд WHERE x=1 или WHERE x IN (1)? Вопрос в том, что есть некая функция, в которой выполняется...

Оптимизация кода, структуры базы, или что еще можно сделать что бы быстрее работало!?
Всем привет! Господа, выручайте. Не пойму как еще оптимизировать... Есть куча связанных таблиц. Нужно выводить статистику используя...

Что быстрее: i++ или ++i ?
Только что прочитала в интернете, что префиксный итератор быстрее, чем постфиксный. Так ли это? Если так и если в С++ все есть обьект, то...

4
34 / 30 / 10
Регистрация: 24.11.2014
Сообщений: 188
Записей в блоге: 12
14.02.2016, 01:20
Интересует вопрос, что быстрее в плане исполнения: Курсор или While?
Как вы себе представляете использование курсора без цикла while?
Всё таки, мне кажется, временная - это считай оперативная память, а физическое - это каждый раз обращение к жесткому диску.
Временные таблицы, как и постоянные, хранятся на диске. Только сервер помещает их в специальную базу tempdb. Даже табличные переменные хранятся в этой базе, а не в памяти, насколько я знаю.

Как правило базу tempdb администратор старается поместить на как можно более быстрый жесткий диск, например SSD. Это дает существенный выигрыш в производительности.
1
Респект C++
 Аватар для FCommander
23 / 33 / 14
Регистрация: 11.06.2015
Сообщений: 384
14.02.2016, 01:20
Я while всегда использую
1
34 / 30 / 10
Регистрация: 24.11.2014
Сообщений: 188
Записей в блоге: 12
14.02.2016, 01:31
И еще, насколько я знаю Microsoft рекомендует использовать курсоры только там где без них не возможно обойтись. Например, если нужно вызвать хранимую процедуру для каждой записи из некоторой таблицы.

Раньше с помощью курсора было быстрее решать задачи на подобие расчета нарастающего итога, но теперь это можно эффективно делать и запросом, с помощью аналитических функций (sum() с предложением over). Аналитические функции вообще очень важная тема. Рекомендую почитать про lead, lag, row_number и др. На собеседованиях про них любят спрашивать в последнее время. Плохо только то, что в полном объеме они появились лишь в MS SQL 2012.
1
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
14.02.2016, 13:50
Цитата Сообщение от RCF Посмотреть сообщение
перебирать более 500 000 строк лучше всего во временной таблице или в физической?
Лучше всего ничего не "перебирать"!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.02.2016, 13:50
Помогаю со студенческими работами здесь

Что быстрее 7 или XP?
Есть нетбук Acer Aspire One D257 с параметрами: Производитель: Intel ...

Что быстрее - Java или C#
1) C# быстрее Java? 2) C# легче Java? 3) Что лучше подходит для web: Java или C#?

Contains или Count, что быстрее?
Есть DbSet<Countries>. Нужно при добавлении новой страны в DbSet проверить есть ли уже такая. Что посоветуете использовать с точки зрения...

Что быстрее assembler или c++
Вопрос от новичка. Что будет быстрее по скорости выполнения и на сколько: 1) сложить a+b на C++ или на assembler 2) умножить a*b на C++...

Что быстрее, while или foreach?
Что быстрее , while или foreach?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru