Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 select * vs select count(*)  [new]
questioner
Member

Откуда:
Сообщений: 1878
Подскажите, пожалуйста, что должно выполняться быстрее и почему?
select * from MY_TABLE

или
select count(*) from MY_TABLE
5 ноя 18, 21:35    [21724624]     Ответить | Цитировать Сообщить модератору
 Re: select * vs select count(*)  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36928
А что сделать легче -- притащить сто мешков цемента себе домой или просто посчитать их количество?
6 ноя 18, 01:25    [21724749]     Ответить | Цитировать Сообщить модератору
 Re: select * vs select count(*)  [new]
PizzaPizza
Member

Откуда:
Сообщений: 355
Гавриленко Сергей Алексеевич
А что сделать легче -- притащить сто мешков цемента себе домой или просто посчитать их количество?


А что тс нужно - посчитать сколько у него на складе мешков цемента или понять какой марки цемент и в какой фасовке?
6 ноя 18, 01:40    [21724755]     Ответить | Цитировать Сообщить модератору
 Re: select * vs select count(*)  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36928
PizzaPizza
Гавриленко Сергей Алексеевич
А что сделать легче -- притащить сто мешков цемента себе домой или просто посчитать их количество?


А что тс нужно - посчитать сколько у него на складе мешков цемента или понять какой марки цемент и в какой фасовке?
Тс вот он -- у него и спрашивайте.

З.Ы. Но в целом, вопрос "что быстрее" в отношении двух запросов, которые возвращают разный результат, всегда умилен.

Сообщение было отредактировано: 6 ноя 18, 01:45
6 ноя 18, 01:43    [21724757]     Ответить | Цитировать Сообщить модератору
 Re: select * vs select count(*)  [new]
PizzaPizza
Member

Откуда:
Сообщений: 355
Гавриленко Сергей Алексеевич,

Меня всегда удивляли способности некоторых участников этого форума понимать довольно бессвязные (с моей точки зрения) хотелки вопрошающих, но в данном случае, я думаю, никакой хрустальный шар не справится.

ТС, а вам чего надо в результате?
6 ноя 18, 02:04    [21724761]     Ответить | Цитировать Сообщить модератору
 Re: select * vs select count(*)  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3618
questioner
Подскажите, пожалуйста, что должно выполняться быстрее и почему?
select * from MY_TABLE

или
select count(*) from MY_TABLE

ни то ни другое.
Быстрее всего будет
SELECT 1
6 ноя 18, 09:32    [21724870]     Ответить | Цитировать Сообщить модератору
 Re: select * vs select count(*)  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Ivan Durak
questioner
Подскажите, пожалуйста, что должно выполняться быстрее и почему?
select * from MY_TABLE


или
select count(*) from MY_TABLE


ни то ни другое.
Быстрее всего будет
SELECT 1
Ещё быстрее
EXEC(N'');
6 ноя 18, 09:39    [21724877]     Ответить | Цитировать Сообщить модератору
 Re: select * vs select count(*)  [new]
questioner
Member

Откуда:
Сообщений: 1878
Гавриленко Сергей Алексеевич
А что сделать легче -- притащить сто мешков цемента себе домой или просто посчитать их количество?


Хочу понять какая будет разница в производительности, если посчитать count в программе.
6 ноя 18, 09:45    [21724886]     Ответить | Цитировать Сообщить модератору
 Re: select * vs select count(*)  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
questioner
Гавриленко Сергей Алексеевич
А что сделать легче -- притащить сто мешков цемента себе домой или просто посчитать их количество?


Хочу понять какая будет разница в производительности, если посчитать count в программе.

вы наверное и умножением в жизни не пользуетесь, только сложение
6 ноя 18, 09:46    [21724889]     Ответить | Цитировать Сообщить модератору
 Re: select * vs select count(*)  [new]
questioner
Member

Откуда:
Сообщений: 1878
TaPaK
questioner
пропущено...


Хочу понять какая будет разница в производительности, если посчитать count в программе.

вы наверное и умножением в жизни не пользуетесь, только сложение


Хочу понять тут разница больше в удобстве или в перформансе
6 ноя 18, 10:19    [21724915]     Ответить | Цитировать Сообщить модератору
 Re: select * vs select count(*)  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
questioner
TaPaK
пропущено...

вы наверное и умножением в жизни не пользуетесь, только сложение


Хочу понять тут разница больше в удобстве или в перформансе

ресурсы вы вообще в расчёт не берёте? Или про мешки слишком сложная аналогия?
6 ноя 18, 10:27    [21724923]     Ответить | Цитировать Сообщить модератору
 Re: select * vs select count(*)  [new]
questioner
Member

Откуда:
Сообщений: 1878
TaPaK
questioner
пропущено...


Хочу понять тут разница больше в удобстве или в перформансе

ресурсы вы вообще в расчёт не берёте? Или про мешки слишком сложная аналогия?


Аналогия понятная, но не очень точная. Куда этим мешки тащить? Сколько они весят?

Ресурсы - Вы имеете ввиду трафик между базой и приложением?
6 ноя 18, 10:49    [21724958]     Ответить | Цитировать Сообщить модератору
 Re: select * vs select count(*)  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
questioner
TaPaK
пропущено...

ресурсы вы вообще в расчёт не берёте? Или про мешки слишком сложная аналогия?


Аналогия понятная, но не очень точная. Куда этим мешки тащить? Сколько они весят?

Ресурсы - Вы имеете ввиду трафик между базой и приложением?

поднять с диска в память, передать это ненужное скопище, посчитать на клиенте, т.е. все возможные ресурсы какие только можно
6 ноя 18, 10:51    [21724962]     Ответить | Цитировать Сообщить модератору
 Re: select * vs select count(*)  [new]
256k
Member

Откуда: с.Торчилово, Псковская обл.
Сообщений: 437
questioner
Гавриленко Сергей Алексеевич
А что сделать легче -- притащить сто мешков цемента себе домой или просто посчитать их количество?


Хочу понять какая будет разница в производительности, если посчитать count в программе.


важно - не слушать пессимистов!
Сделать в приложении счетчик, и по-быстрому посчитать количество возвращенных записей.
6 ноя 18, 11:51    [21725024]     Ответить | Цитировать Сообщить модератору
 Re: select * vs select count(*)  [new]
questioner
Member

Откуда:
Сообщений: 1878
TaPaK
questioner
пропущено...


Аналогия понятная, но не очень точная. Куда этим мешки тащить? Сколько они весят?

Ресурсы - Вы имеете ввиду трафик между базой и приложением?

поднять с диска в память, передать это ненужное скопище, посчитать на клиенте, т.е. все возможные ресурсы какие только можно


а можно это в процентах примерно выразить в ситуации, что приложение и база на одном сервере?
6 ноя 18, 11:53    [21725031]     Ответить | Цитировать Сообщить модератору
 Re: select * vs select count(*)  [new]
Shakill
Member

Откуда: мск
Сообщений: 1880
questioner
TaPaK
пропущено...

поднять с диска в память, передать это ненужное скопище, посчитать на клиенте, т.е. все возможные ресурсы какие только можно

а можно это в процентах примерно выразить в ситуации, что приложение и база на одном сервере?


что "это" выразить в процентах и куда потом вы это число примените?
6 ноя 18, 12:02    [21725044]     Ответить | Цитировать Сообщить модератору
 Re: select * vs select count(*)  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
questioner
TaPaK
пропущено...

поднять с диска в память, передать это ненужное скопище, посчитать на клиенте, т.е. все возможные ресурсы какие только можно


а можно это в процентах примерно выразить в ситуации, что приложение и база на одном сервере?

как в процентах выразить глупость решения?
6 ноя 18, 12:04    [21725047]     Ответить | Цитировать Сообщить модератору
 Re: select * vs select count(*)  [new]
4d_monster
Member

Откуда: Москва
Сообщений: 1613
TaPaK
как в процентах выразить глупость решения?


Легко: +INF
6 ноя 18, 12:12    [21725059]     Ответить | Цитировать Сообщить модератору
 Re: select * vs select count(*)  [new]
iiyama
Member

Откуда:
Сообщений: 642
TaPaK,
вижу меж строк,у автора цель- новый сервер и широкий канал, так что
добавьте поле varbinary(max), залейте туда кучу фоток в высоком разрешении и главное везде ставьте *
Скоро либо руководство найдет финансирование, либо ТС новую высокооплачиваемую работу
6 ноя 18, 12:15    [21725064]     Ответить | Цитировать Сообщить модератору
 Re: select * vs select count(*)  [new]
questioner
Member

Откуда:
Сообщений: 1878
TaPaK
questioner
пропущено...


а можно это в процентах примерно выразить в ситуации, что приложение и база на одном сервере?

как в процентах выразить глупость решения?


Ну зачем утрировать то.

Я хочу понять на сколько это будет медленнее работать. Я хочу услышать ответ, что это будет рабоать в 2 раза медленее, чем count или в 1.1 раза медленнее, либо это будет работать также,но потом ещё в программе придётся считать, а это дополнительное время. Глупость/умность решения это уже другой вопрос.
6 ноя 18, 12:39    [21725109]     Ответить | Цитировать Сообщить модератору
 Re: select * vs select count(*)  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36928
questioner
TaPaK
пропущено...

как в процентах выразить глупость решения?


Ну зачем утрировать то.

Я хочу понять на сколько это будет медленнее работать. Я хочу услышать ответ, что это будет рабоать в 2 раза медленее, чем count или в 1.1 раза медленнее, либо это будет работать также,но потом ещё в программе придётся считать, а это дополнительное время. Глупость/умность решения это уже другой вопрос.
До 100500 раз медленее. Задачи, которые вы решаете, и цели, которые вы преследуете, не понятны, поэтому правило простое -- все, что можно посчитать на сервере, в 99.9(9)% случаев быстрее, чем сначала притащить все данные на сторону клиента, а потом считать там.

З.Ы. И да, скажите уже кто-нибудь топикстартеру про sys.partitions. И про exists() на случай, если он хочет сравнивать свой count(*) с 0.

Сообщение было отредактировано: 8 ноя 18, 02:33
6 ноя 18, 12:47    [21725119]     Ответить | Цитировать Сообщить модератору
 Re: select * vs select count(*)  [new]
Massa52
Member

Откуда:
Сообщений: 379
questioner,
Примените классику - решите задачу с одним "мешком" с подсчетом времени переноса, потом для двух, затем обобщите для n ...
Поскольку только вам известны параметры ваших "мешков", то вам и считать затраты на посчет и переноску.
6 ноя 18, 12:58    [21725136]     Ответить | Цитировать Сообщить модератору
 Re: select * vs select count(*)  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Пусть считает в клиенте. Развлекать клоунадой "я просто хочу понять" не стоит
6 ноя 18, 13:02    [21725141]     Ответить | Цитировать Сообщить модератору
 Re: select * vs select count(*)  [new]
questioner
Member

Откуда:
Сообщений: 1878
Гавриленко Сергей Алексеевич
questioner
пропущено...


Ну зачем утрировать то.

Я хочу понять на сколько это будет медленнее работать. Я хочу услышать ответ, что это будет рабоать в 2 раза медленее, чем count или в 1.1 раза медленнее, либо это будет работать также,но потом ещё в программе придётся считать, а это дополнительное время. Глупость/умность решения это уже другой вопрос.
До 100500 раз медленее. Задачи, которые вы решаете, и цели, которые вы преследуете, не понятны, поэтому правило простое -- все, что можно посчитать на сервере, в 99.9(9)% случаев быстрее, чем сначала притащить все данные на сторону клиента, а потом считать там.

З.Ы. И да, скажите уже кто-нибудь топикстартеру про sys.partitions. И про exists() на случай, если он хочет сравнивать свой count(*) с 0.


про exists знаю. А что такое аргумент Count тоже не знаю, но это оффтоп конечно.

sys.partitions тоже не знаю

Я не понимаю почему Вы так реагируете на вопрос. Я ведь могу вам ответить, что алгоритм сортировки пузырьком работает за O(n^2), а quicksort за O(n*log(n))

Сообщение было отредактировано: 8 ноя 18, 02:34
6 ноя 18, 15:33    [21725388]     Ответить | Цитировать Сообщить модератору
 Re: select * vs select count(*)  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
questioner,

автор
Я ведь могу вам ответить, что алгоритм сортировки пузырьком работает за O(n^2), а quicksort за O(n*log(n))

с козырей пошёл что-ли? А я вязать крючком умею
6 ноя 18, 15:41    [21725406]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить