|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
У меня есть таблица TempTbl, в которую я загружаю около 600тыс. записей. И запрос SELECT count(*) FROM TempTbl; длится около 10 сек. Почему так? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2004, 15:17 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
А почему Вы считаете, что должно быть быстрее? _______________ Alex There are three kinds of people: those who can count and those who can't ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2004, 15:22 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
Попробуй SELECT COUNT(1) Удачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2004, 15:24 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
Александр КПопробуй SELECT COUNT(1) Удачи.Миф /topic/92459&hl=#675568 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2004, 15:56 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
stdioА почему Вы считаете, что должно быть быстрее? _______________ Alex There are three kinds of people: those who can count and those who can't Не, ну реально должно быть 7 секунд :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2004, 16:05 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
Александр КПопробуй SELECT COUNT(1) Удачи. Нет, не помогло. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2004, 16:07 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
Причиной может быть, например, высокий уровень hwm /topic/95726&hl= /topic/101861&hl= ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2004, 16:20 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
Johnny BombardirНет, не помогло. По-моему SELECT COUNT(ROWID) - наилучший вариант. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2004, 16:20 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
olek Александр КПопробуй SELECT COUNT(1) Удачи.Миф /topic/92459&hl=#675568 Не миф. Практика. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2004, 16:24 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
Alexander DubrovskyНе миф. Практика.Было бы интересно разобраться в этом вопросе. Не могли бы Вы выложить тест, который бы это подтверждал? О том того, что у count(1) или count(rowid) нет преимуществ, говорит тред на asktom, ссылка на которые приведена. мне не удалось найти такой "хитрый" пример, который бы подтверждал недостатки count(*). Если у Вас есть - приведите, пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2004, 16:37 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
В таблице 632581 записей, ,Процессор 800 МГц count(*) - 14,860 count(1) - 15,015 сек count(rowid) - 14,891 сек Причем показания варьируются от запуска к запуску +/- 0,3-0,5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2004, 17:13 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
А так пробовали count(log(2,4)) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2004, 17:19 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
sum(1) еще попробуйте :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2004, 17:22 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
2 denm Нет, так точно быстрее не будет, надо sum(2)/2 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2004, 17:27 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
Ora-мучитель2 denm Нет, так точно быстрее не будет, надо sum(2)/2 На ноль дели, на ноль :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2004, 17:32 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
2 Alexander Dubrovsky Поделил на ноль. ORA-01476: делитель равен нулю Мне кажется на ноль делить нельзя ?! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2004, 17:40 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
Ора-мучитель, ты ведь шутил, правда? Как шутил сегодня Эш+ в топике про модуль. Или может оракл корпу стоит задуматься о включении в доку "Math Concepts"? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2004, 17:52 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
Кстати в топике "про модуль" тоже очевидные ошибки. По-моему каждый знает, что "модуль" - функция унарная и работает так MOD(-5) = MOD(5) = 5 А на счет деления на ноль, я "серьезно поделил". Буду ждать атаки Fuckera. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2004, 18:02 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
Ну, если быть занудой, то тот модуль, о котором ты говоришь пишется в математике как |-5|, а само слово "mod" встречается в алгебре только в смысле 30 mod 7 = 2 =))) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2004, 18:08 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
Все! Я опозорен ! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2004, 18:13 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
Ora-мучительВсе! Я опозорен ! лол ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2004, 18:30 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
Johnny BombardirУ меня есть таблица TempTbl, в которую я загружаю около 600тыс. записей. И запрос SELECT count(*) FROM TempTbl; длится около 10 сек. Почему так? Попробуй собрать статистику по таблице. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2004, 10:54 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
1.Долго по сравнению с чем? 2.Что значит "гружу данные", вроде разговор про запрос идет? 3.'Temp' - обычная таблица? 4. план выполнения (лучше трассировка) о чем говорит. 5. Если сразу после загрузки (изменения) данных сделать запрос, затрагивающий измененные данные, то часть вычислительных ресурсов уйдет на "очистку" блоков (строк, которые были ранее блокированы, информация об этом еще сидит в заголовке) (у Кайта есть кое что про это на стр 250). ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2004, 16:26 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
Ваша таблица должна быть надлежащим образом проиндексирована и проанализирована, тогда ваш count(*) будет быстрее. Но вообще count(*) - это не обчень быстрая операция. Что касается count(1), то это миф. Посмотрите, какие у вас индексы и если их нет, то создайте на ключвые колонки, а потом проанализируйте таблицу ANALYZE TABLE table_name COMPUTE STATISTICS FOR TABLE FOR ALL INDEXES FOR ALL INDEXED COLUMNS; ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2004, 21:10 |
|
Почему так медленно SELECT COUNT(*)
|
|||
---|---|---|---|
#18+
DestroyНу, если быть занудой, то тот модуль, о котором ты говоришь пишется в математике как |-5|, а само слово "mod" встречается в алгебре только в смысле 30 mod 7 = 2 =))) В дополнение: в математике пишется |-5|, а на языках как правило ABS(-5). ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2004, 10:57 |
|
|
start [/forum/topic.php?fid=52&tid=1905960]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
28ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
others: | 263ms |
total: | 406ms |
0 / 0 |