powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Почему так медленно SELECT COUNT(*)
25 сообщений из 133, страница 1 из 6
Почему так медленно SELECT COUNT(*)
    #32608406
Johnny Bombardir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня есть таблица TempTbl, в которую я загружаю около 600тыс. записей.

И запрос SELECT count(*) FROM TempTbl; длится около 10 сек. Почему так?
...
Рейтинг: 0 / 0
Почему так медленно SELECT COUNT(*)
    #32608427
Фотография stdio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему Вы считаете, что должно быть быстрее?
_______________
Alex
There are three kinds of people: those who can count and those who can't
...
Рейтинг: 0 / 0
Почему так медленно SELECT COUNT(*)
    #32608433
Александр К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй SELECT COUNT(1)

Удачи.
...
Рейтинг: 0 / 0
Почему так медленно SELECT COUNT(*)
    #32608551
olek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр КПопробуй SELECT COUNT(1)

Удачи.Миф
/topic/92459&hl=#675568
...
Рейтинг: 0 / 0
Почему так медленно SELECT COUNT(*)
    #32608576
Фотография killed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stdioА почему Вы считаете, что должно быть быстрее?
_______________
Alex
There are three kinds of people: those who can count and those who can't

Не, ну реально должно быть 7 секунд :))
...
Рейтинг: 0 / 0
Почему так медленно SELECT COUNT(*)
    #32608585
Johnny Bombardir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр КПопробуй SELECT COUNT(1)
Удачи.

Нет, не помогло.
...
Рейтинг: 0 / 0
Почему так медленно SELECT COUNT(*)
    #32608614
olek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Причиной может быть, например, высокий уровень hwm
/topic/95726&hl=
/topic/101861&hl=
...
Рейтинг: 0 / 0
Почему так медленно SELECT COUNT(*)
    #32608615
ujin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Johnny BombardirНет, не помогло.

По-моему SELECT COUNT(ROWID) - наилучший вариант.
...
Рейтинг: 0 / 0
Почему так медленно SELECT COUNT(*)
    #32608625
Alexander Dubrovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olek Александр КПопробуй SELECT COUNT(1)

Удачи.Миф
/topic/92459&hl=#675568
Не миф. Практика.
...
Рейтинг: 0 / 0
Почему так медленно SELECT COUNT(*)
    #32608659
olek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander DubrovskyНе миф. Практика.Было бы интересно разобраться в этом вопросе. Не могли бы Вы выложить тест, который бы это подтверждал?
О том того, что у count(1) или count(rowid) нет преимуществ, говорит тред на asktom, ссылка на которые приведена.
мне не удалось найти такой "хитрый" пример, который бы подтверждал недостатки count(*). Если у Вас есть - приведите, пожалуйста.
...
Рейтинг: 0 / 0
Почему так медленно SELECT COUNT(*)
    #32608747
Johnny Bombardir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В таблице 632581 записей, ,Процессор 800 МГц

count(*) - 14,860
count(1) - 15,015 сек
count(rowid) - 14,891 сек

Причем показания варьируются от запуска к запуску +/- 0,3-0,5
...
Рейтинг: 0 / 0
Почему так медленно SELECT COUNT(*)
    #32608763
Ora-мучитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А так пробовали

count(log(2,4))
...
Рейтинг: 0 / 0
Почему так медленно SELECT COUNT(*)
    #32608775
Фотография denm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sum(1) еще попробуйте :)
...
Рейтинг: 0 / 0
Почему так медленно SELECT COUNT(*)
    #32608786
Ora-мучитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 denm

Нет, так точно быстрее не будет, надо

sum(2)/2
...
Рейтинг: 0 / 0
Почему так медленно SELECT COUNT(*)
    #32608807
Alexander Dubrovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ora-мучитель2 denm

Нет, так точно быстрее не будет, надо

sum(2)/2
На ноль дели, на ноль :)
...
Рейтинг: 0 / 0
Почему так медленно SELECT COUNT(*)
    #32608841
Ora-мучитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Alexander Dubrovsky

Поделил на ноль.

ORA-01476: делитель равен нулю

Мне кажется на ноль делить нельзя ?!
...
Рейтинг: 0 / 0
Почему так медленно SELECT COUNT(*)
    #32608874
Destroy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ора-мучитель, ты ведь шутил, правда?
Как шутил сегодня Эш+ в топике про модуль.

Или может оракл корпу стоит задуматься о включении в доку "Math Concepts"?
...
Рейтинг: 0 / 0
Почему так медленно SELECT COUNT(*)
    #32608900
Ora-мучитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати в топике "про модуль" тоже очевидные ошибки.
По-моему каждый знает, что "модуль" - функция унарная и работает так

MOD(-5) = MOD(5) = 5

А на счет деления на ноль, я "серьезно поделил".
Буду ждать атаки Fuckera.
...
Рейтинг: 0 / 0
Почему так медленно SELECT COUNT(*)
    #32608917
Destroy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, если быть занудой, то тот модуль, о котором ты говоришь пишется в математике как |-5|, а само слово "mod" встречается в алгебре только в смысле 30 mod 7 = 2 =)))
...
Рейтинг: 0 / 0
Почему так медленно SELECT COUNT(*)
    #32608930
Ora-мучитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все! Я опозорен !
...
Рейтинг: 0 / 0
Почему так медленно SELECT COUNT(*)
    #32608962
Alexander Dubrovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ora-мучительВсе! Я опозорен !
лол
...
Рейтинг: 0 / 0
Почему так медленно SELECT COUNT(*)
    #32609205
Фотография slim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Johnny BombardirУ меня есть таблица TempTbl, в которую я загружаю около 600тыс. записей.
И запрос SELECT count(*) FROM TempTbl; длится около 10 сек. Почему так?

Попробуй собрать статистику по таблице.
...
Рейтинг: 0 / 0
Почему так медленно SELECT COUNT(*)
    #32609324
aars
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1.Долго по сравнению с чем?
2.Что значит "гружу данные", вроде разговор про запрос идет?
3.'Temp' - обычная таблица?
4. план выполнения (лучше трассировка) о чем говорит.
5. Если сразу после загрузки (изменения) данных сделать запрос, затрагивающий измененные данные, то часть вычислительных ресурсов уйдет на "очистку" блоков (строк, которые были ранее блокированы, информация об этом еще сидит в заголовке) (у Кайта есть кое что про это на стр 250).
...
Рейтинг: 0 / 0
Почему так медленно SELECT COUNT(*)
    #32609427
В.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В.
Гость
Ваша таблица должна быть надлежащим образом проиндексирована и проанализирована, тогда ваш count(*) будет быстрее. Но вообще count(*) - это не обчень быстрая операция. Что касается count(1), то это миф.
Посмотрите, какие у вас индексы и если их нет, то создайте на ключвые колонки, а потом проанализируйте таблицу
ANALYZE TABLE table_name COMPUTE STATISTICS FOR TABLE FOR ALL INDEXES FOR ALL INDEXED COLUMNS;
...
Рейтинг: 0 / 0
Почему так медленно SELECT COUNT(*)
    #32610052
sinoptic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DestroyНу, если быть занудой, то тот модуль, о котором ты говоришь пишется в математике как |-5|, а само слово "mod" встречается в алгебре только в смысле 30 mod 7 = 2 =)))
В дополнение: в математике пишется |-5|, а на языках как правило ABS(-5).
...
Рейтинг: 0 / 0
25 сообщений из 133, страница 1 из 6
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Почему так медленно SELECT COUNT(*)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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