Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
select * vs select count(*)
|
|||
|---|---|---|---|
|
#18+
questioner, т.к. вопрос про сферических коней в вакууме позволю ответ: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2018, 18:10 |
|
||
|
select * vs select count(*)
|
|||
|---|---|---|---|
|
#18+
архивариусquestioner, т.к. вопрос про сферических коней в вакууме позволю ответ: А можете как-то прокомментировать почему ColumnStore index scan в случае count(*) - 18%, а в случае select * - 100% Это как-то связано с тем, что для страниц полностью забитых записями можно взять размер и получим count на странице? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2018, 18:28 |
|
||
|
select * vs select count(*)
|
|||
|---|---|---|---|
|
#18+
questioner, одна операция всегда занимает 100% общего времени. Интересует чисто время на подготовку ответа. А в чем интерес-то? Практической пользы в таком любопытстве ноль. Описанный сценарий физически не существует, а только в воображении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2018, 18:41 |
|
||
|
select * vs select count(*)
|
|||
|---|---|---|---|
|
#18+
Владислав Колосовquestioner, одна операция всегда занимает 100% общего времени. Интересует чисто время на подготовку ответа. А в чем интерес-то? Практической пользы в таком любопытстве ноль. Описанный сценарий физически не существует, а только в воображении. ааа, понятно. А почему вроде как одна и та же операция в плане в первом случае проходит в 10+ раз быстрее? Практической пользы нет, зато есть теоретическая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2018, 18:51 |
|
||
|
select * vs select count(*)
|
|||
|---|---|---|---|
|
#18+
даже не просто 10+, а 64 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2018, 18:52 |
|
||
|
select * vs select count(*)
|
|||
|---|---|---|---|
|
#18+
questionerдаже не просто 10+, а 64 медсестра-теоретитк? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2018, 18:55 |
|
||
|
select * vs select count(*)
|
|||
|---|---|---|---|
|
#18+
TaPaKquestionerдаже не просто 10+, а 64 медсестра-теоретитк? язык слишком длинный что ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2018, 18:58 |
|
||
|
select * vs select count(*)
|
|||
|---|---|---|---|
|
#18+
questioner, наверху запрос в несколько потоков и нет выгрузки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2018, 20:28 |
|
||
|
select * vs select count(*)
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2018, 20:29 |
|
||
|
select * vs select count(*)
|
|||
|---|---|---|---|
|
#18+
msLexalexeyvgпропущено... Лучше сказать "безусловно никогда". пропущено... Для подсчёта в самом худшем случае (без узких индексов) на сервере нужно будет считать все страницы, подсчитывая количество записей. А на клиенте нужно будет передать эти страницы на клиента через клиентские библиотеки доступа, потом ена клиенте их посчитать. Вопрос был о время_необходимое_на_ чтение_данных _для_select_* VS время_необходимое_на_ чтение_данных _для_select_count(*)А, понял, я держал в уме исходный вопрос, "Подскажите, пожалуйста, что должно выполняться быстрее и почему?", перепутал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2018, 20:55 |
|
||
|
select * vs select count(*)
|
|||
|---|---|---|---|
|
#18+
Maxx Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. Получается, что в случае select count(*) - на 3 логических чтения меньше(17 против 14) - на 1 физических чтений меньше(1 против 0) - на 15 чтений read-ahead меньше (15 против 0) Я так понимаю логическое чтение это чтение из кеша. Почему для count их меньше? Физическое чтение видимо нужно для формирование ответа? read-ahead как я понял это что-то типа упреждающего чтения вперёд. Не понятно почему оно должно отличаться при этих запросах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2018, 23:31 |
|
||
|
select * vs select count(*)
|
|||
|---|---|---|---|
|
#18+
questionerПолучается, что в случае select count(*) - на 3 логических чтения меньше(17 против 14) - на 1 физических чтений меньше(1 против 0) - на 15 чтений read-ahead меньше (15 против 0)read-ahead и physical будут случайно меняться, на них не смотрите. А логическое чтение для * будет стабильно больше. Не знаю почему, может, серверу нужно прочитать метаданные колонок? Понятно, что разница в чтении небольшая, если только не делается распараллеливание, или не читаются LOB поля. Основное различие по исходному вопросу - необходимость передачи данных на клиента, через несколько программных слоёв, вот это замедлит запрос в много раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2018, 01:06 |
|
||
|
select * vs select count(*)
|
|||
|---|---|---|---|
|
#18+
questionerархивариусquestioner, т.к. вопрос про сферических коней в вакууме позволю ответ: А можете как-то прокомментировать почему ColumnStore index scan в случае count(*) - 18%, а в случае select * - 100% 1. иконки разные 2. 18% от 8% и 100% от 92% ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2018, 09:49 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39728783&tid=1688821]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
69ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 262ms |
| total: | 424ms |

| 0 / 0 |
