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

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

14.02.2016, 00:58. Показов 5727. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Контроль корректности заполнения дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru