powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / select * vs select count(*)
25 сообщений из 63, страница 2 из 3
select * vs select count(*)
    #39728627
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaKquestioner,

автор Я ведь могу вам ответить, что алгоритм сортировки пузырьком работает за O(n^2), а quicksort за O(n*log(n))
с козырей пошёл что-ли? А я вязать крючком умею

Просто непонятно в чём суть претензий ко мне. Я задал вопрос. Мне говорят, что твой вопрос говно. Блин, чуваки, я понимаю, что count лучше, но насколько ? русским по белому же написано.
...
Рейтинг: 0 / 0
select * vs select count(*)
    #39728629
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerTaPaKquestioner,

пропущено...

с козырей пошёл что-ли? А я вязать крючком умею

Просто непонятно в чём суть претензий ко мне. Я задал вопрос. Мне говорят, что твой вопрос говно. Блин, чуваки, я понимаю, что count лучше, но насколько ? русским по белому же написано.
на 42
...
Рейтинг: 0 / 0
select * vs select count(*)
    #39728630
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaKquestionerпропущено...


Просто непонятно в чём суть претензий ко мне. Я задал вопрос. Мне говорят, что твой вопрос говно. Блин, чуваки, я понимаю, что count лучше, но насколько ? русским по белому же написано.
на 42

попугая?
...
Рейтинг: 0 / 0
select * vs select count(*)
    #39728633
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner,

для начала узнайте, что происходит при select * from MY_TABLE и при select count(*) from MY_TABLE. После этого сможете произвести какую-то количественную оценку.
...
Рейтинг: 0 / 0
select * vs select count(*)
    #39728637
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосовquestioner,

для начала узнайте, что происходит при select * from MY_TABLE и при select count(*) from MY_TABLE. После этого сможете произвести какую-то количественную оценку.
Вот именно я это и хочу узнать тут) explain-ом пользоваться не умею
...
Рейтинг: 0 / 0
select * vs select count(*)
    #39728639
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner,

Запрос, как минимум, что-то возвращает спросившему. Разве не очевидно? Какой объем данных вернется клиентскому приложению и за какое время в том или ином случае?
...
Рейтинг: 0 / 0
select * vs select count(*)
    #39728640
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner но насколько ?
время_необходимое_на_чтение_данных_для_select_* + время_необходимое_для_передачи_данных_клиенту + время_необходимое_для_подсчета_количества_строк_на_клиенте - время_необходимое_на_чтение_данных_для_select_count(*) - время_необходимое_для_подсчета_количества_строк_на_сервере
...
Рейтинг: 0 / 0
select * vs select count(*)
    #39728683
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
invmquestioner но насколько ?
время_необходимое_на_чтение_данных_для_select_* + время_необходимое_для_передачи_данных_клиенту + время_необходимое_для_подсчета_количества_строк_на_клиенте - время_необходимое_на_чтение_данных_для_select_count(*) - время_необходимое_для_подсчета_количества_строк_на_сервере

авторвремя_необходимое_на_чтение_данных_для_select_*
и
авторвремя_необходимое_на_чтение_данных_для_select_count(*)
Это одно и то же время?
...
Рейтинг: 0 / 0
select * vs select count(*)
    #39728684
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerinvmпропущено...

время_необходимое_на_чтение_данных_для_select_* + время_необходимое_для_передачи_данных_клиенту + время_необходимое_для_подсчета_количества_строк_на_клиенте - время_необходимое_на_чтение_данных_для_select_count(*) - время_необходимое_для_подсчета_количества_строк_на_сервере

авторвремя_необходимое_на_чтение_данных_для_select_*
и
авторвремя_необходимое_на_чтение_данных_для_select_count(*)
Это одно и то же время?

Далеко не всегда
...
Рейтинг: 0 / 0
select * vs select count(*)
    #39728689
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
msLexquestionerпропущено...


пропущено...

и
пропущено...

Это одно и то же время?

Далеко не всегда

Вот это уже интересно. Можете объяснить подробнее?
...
Рейтинг: 0 / 0
select * vs select count(*)
    #39728693
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionermsLexпропущено...


Далеко не всегда

Вот это уже интересно. Можете объяснить подробнее?

То, что сразу приходит на ум
дополнительные (не кластерные) индексы, LOB-ы, Row Overflow, Columnstore
...
Рейтинг: 0 / 0
select * vs select count(*)
    #39728695
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
msLexquestionerпропущено...


Вот это уже интересно. Можете объяснить подробнее?

То, что сразу приходит на ум
дополнительные (не кластерные) индексы, LOB-ы, Row Overflow, Columnstore

Из всего вышеперечисленного имею представление только об индексах. Они как-то помогают сделать select count(*) быстрее/медленнее чем select * ?
...
Рейтинг: 0 / 0
select * vs select count(*)
    #39728697
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionermsLexпропущено...


То, что сразу приходит на ум
дополнительные (не кластерные) индексы, LOB-ы, Row Overflow, Columnstore

Из всего вышеперечисленного имею представление только об индексах. Они как-то помогают сделать select count(*) быстрее/медленнее чем select * ?

Да, при select count(*) не нужно читать все данные таблицы, а достаточно тех, что хранятся в самом узком индексе.
...
Рейтинг: 0 / 0
select * vs select count(*)
    #39728702
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner,

Время для sql сервера не ресурс.

авторавтор42
попугая?

дети только мултики нынче смотрят.
...
Рейтинг: 0 / 0
select * vs select count(*)
    #39728703
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
msLexquestionerпропущено...


Из всего вышеперечисленного имею представление только об индексах. Они как-то помогают сделать select count(*) быстрее/медленнее чем select * ?

Да, при select count(*) не нужно читать все данные таблицы, а достаточно тех, что хранятся в самом узком индексе.

А что такое ширина индекса?
...
Рейтинг: 0 / 0
select * vs select count(*)
    #39728705
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerА что такое ширина индекса?
Пусть это будет ваше ДЗ.
...
Рейтинг: 0 / 0
select * vs select count(*)
    #39728707
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msLexquestionerЭто одно и то же время?

Далеко не всегдаЛучше сказать "безусловно никогда".
questionerВот это уже интересно. Можете объяснить подробнее?Для подсчёта в самом худшем случае (без узких индексов) на сервере нужно будет считать все страницы, подсчитывая количество записей.
А на клиенте нужно будет передать эти страницы на клиента через клиентские библиотеки доступа, потом ена клиенте их посчитать.

Получаем замедление в 4 раза.

При наличии уникального индекса получаем замедление в 4 * (отношение размера индекса к размеру таблицы)

Если подсчёт на сиквеле делается неоптимально, то коэффициент замедлленя будет меньше. Насколько - наверное, можно пострашивать на блогах разработчиков, но ввиду полной неприменимости результата вряд ли кто то спрашивал.


questioner, странно, что такое приходится объяснять, может быть, вы не программист/не технарь?
...
Рейтинг: 0 / 0
select * vs select count(*)
    #39728713
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
msLexquestionerА что такое ширина индекса?
Пусть это будет ваше ДЗ.

Ок, тогда с вас правильное название этого термина)
...
Рейтинг: 0 / 0
select * vs select count(*)
    #39728715
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgmsLexпропущено...


Далеко не всегдаЛучше сказать "безусловно никогда".
questionerВот это уже интересно. Можете объяснить подробнее?Для подсчёта в самом худшем случае (без узких индексов) на сервере нужно будет считать все страницы, подсчитывая количество записей.
А на клиенте нужно будет передать эти страницы на клиента через клиентские библиотеки доступа, потом ена клиенте их посчитать.
Вопрос был о

время_необходимое_на_ чтение_данных _для_select_*
VS
время_необходимое_на_ чтение_данных _для_select_count(*)
...
Рейтинг: 0 / 0
select * vs select count(*)
    #39728718
Фотография 4d_monster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionermsLexпропущено...


То, что сразу приходит на ум
дополнительные (не кластерные) индексы, LOB-ы, Row Overflow, Columnstore

Из всего вышеперечисленного имею представление только об индексах. Они как-то помогают сделать select count(*) быстрее/медленнее чем select * ?
Если грубо: Представьте книгу. count(*) - посмотреть в оглавлении количество страниц и написать его на листочке. select * - переписать всю книгу на листочки и потом посчитать сколько листочков получилось.
...
Рейтинг: 0 / 0
select * vs select count(*)
    #39728719
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerОк, тогда с вас правильное название этого термина)

За пивком не сгонять?
...
Рейтинг: 0 / 0
select * vs select count(*)
    #39728722
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4d_monsterЕсли грубо: Представьте книгу. count(*) - посмотреть в оглавлении количество страниц и написать его на листочке. select * - переписать всю книгу на листочки и потом посчитать сколько листочков получилось.
Только считать нужно не количество страниц а количество строк на страницах, и тут оглавление не поможет.
...
Рейтинг: 0 / 0
select * vs select count(*)
    #39728723
Фотография 4d_monster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msLex,

Да, так ещё точнее аналогия получается.
...
Рейтинг: 0 / 0
select * vs select count(*)
    #39728749
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvgmsLexпропущено...


Далеко не всегдаЛучше сказать "безусловно никогда".
questionerВот это уже интересно. Можете объяснить подробнее?Для подсчёта в самом худшем случае (без узких индексов) на сервере нужно будет считать все страницы, подсчитывая количество записей.
А на клиенте нужно будет передать эти страницы на клиента через клиентские библиотеки доступа, потом ена клиенте их посчитать.

Получаем замедление в 4 раза.

При наличии уникального индекса получаем замедление в 4 * (отношение размера индекса к размеру таблицы)

Если подсчёт на сиквеле делается неоптимально, то коэффициент замедлленя будет меньше. Насколько - наверное, можно пострашивать на блогах разработчиков, но ввиду полной неприменимости результата вряд ли кто то спрашивал.


questioner, странно, что такое приходится объяснять, может быть, вы не программист/не технарь?

Не силён в базах данных...

Меня в данном вопросе интересует чисто работа сервера базы данных.Не интересует работа работа приложения и трафик между ДБ и приложением. Интересует чисто время на подготовку ответа.
...
Рейтинг: 0 / 0
select * vs select count(*)
    #39728751
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
msLexquestionerОк, тогда с вас правильное название этого термина)

За пивком не сгонять?

Спасибо, не любитель.

Как на буржуйском это звучит?
...
Рейтинг: 0 / 0
25 сообщений из 63, страница 2 из 3
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / select * vs select count(*)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]