|
|
|
count(*) идет крайне медленно
|
|||
|---|---|---|---|
|
#18+
Всем привет. Есть две базы - MS SQL и postgree. Структуры абсолбтно идентичные, до назания индексов и даже регистра. После миграции данных Код: sql 1. К примеру на MS SQL идет несколько секунд (59 млн записей), на Postrge несколько минут. В чем может быть причина? Так со всеми таблицами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2015, 11:38 |
|
||
|
count(*) идет крайне медленно
|
|||
|---|---|---|---|
|
#18+
Alexey Agafonov, "железо" по производительности сопоставимо? планы запросов чего показывают? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2015, 11:56 |
|
||
|
count(*) идет крайне медленно
|
|||
|---|---|---|---|
|
#18+
Alexey AgafonovВсем привет. Есть две базы - MS SQL и postgree. Структуры абсолбтно идентичные, до назания индексов и даже регистра. После миграции данных Код: sql 1. К примеру на MS SQL идет несколько секунд (59 млн записей), на Postrge несколько минут. В чем может быть причина? Так со всеми таблицами. абсолютно ли одинаковы структуры? кластерные индексы никто не отменял. Плюс размер кэша - что в мс влезло, в pg может не влезть. Ну и планы в студию! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2015, 12:01 |
|
||
|
count(*) идет крайне медленно
|
|||
|---|---|---|---|
|
#18+
В планах PG я плохо разбираюсь, есть что-то подробнее, чем этот? Вот они. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2015, 12:57 |
|
||
|
count(*) идет крайне медленно
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2015, 13:02 |
|
||
|
count(*) идет крайне медленно
|
|||
|---|---|---|---|
|
#18+
Alexey AgafonovВ планах PG я плохо разбираюсь, есть что-то подробнее, чем этот? Вот они. Тут видно фулскан, а в мсскл индекс используется. ЗЫ. Про "поподробнее" - см. explain ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2015, 13:07 |
|
||
|
count(*) идет крайне медленно
|
|||
|---|---|---|---|
|
#18+
Сделал. Интересно то, что ни JSON ни XML форматы ничего не дают (. Пусто. В обычный вот Код: sql 1. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2015, 13:24 |
|
||
|
count(*) идет крайне медленно
|
|||
|---|---|---|---|
|
#18+
tanglirТут видно фулсканА хотя он тут и должен быть, идеология-то не поменялась: https://wiki.postgresql.org/wiki/Slow_Counting http://www.quora.com/How-can-I-optimize-count-queries-in-PostgreSQL http://postgresql.nabble.com/Why-count-doest-use-index-tp3408241p3411320.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2015, 13:33 |
|
||
|
count(*) идет крайне медленно
|
|||
|---|---|---|---|
|
#18+
Alexey Agafonov Код: sql 1. 2. 3. 4. index only scan появился в пг недавно - погуглите версию с которой и сравните со своей. А еще различие - мсскл индексирует null значения, а остальные субд (и пг в том числе) нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2015, 15:15 |
|
||
|
count(*) идет крайне медленно
|
|||
|---|---|---|---|
|
#18+
Alexey AgafonovВсем привет. Есть две базы - MS SQL и postgree. Структуры абсолбтно идентичные, до назания индексов и даже регистра. После миграции данных Код: sql 1. К примеру на MS SQL идет несколько секунд (59 млн записей), на Postrge несколько минут. В чем может быть причина? Так со всеми таблицами. count(*) в postgres при выполнении пересчитывает все строки в таблице и эту проблемы вы не решите. -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2015, 15:47 |
|
||
|
count(*) идет крайне медленно
|
|||
|---|---|---|---|
|
#18+
Ivan DurakА еще различие - мсскл индексирует null значения, а остальные субд (и пг в том числе) нет. Как интересно а откуда вы это взяли про PostgreSQL? На всякий случай для читателей - PostgreSQL индексирует NULL's и делает это лет 10 последних минимум если не 15. -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2015, 15:51 |
|
||
|
count(*) идет крайне медленно
|
|||
|---|---|---|---|
|
#18+
Вот кто бы мне обьяснил смысл частого и быстрого выполнения count(*) по таблице с миллионами записей? Ну вот хоть одну реальную задачу которую этим можно решить напишите. Я за 15 лет ни одной не видел. -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2015, 15:54 |
|
||
|
count(*) идет крайне медленно
|
|||
|---|---|---|---|
|
#18+
Maxim BogukВот кто бы мне обьяснил смысл частого и быстрого выполнения count(*) по таблице с миллионами записей? Ну вот хоть одну реальную задачу которую этим можно решить напишите. Я за 15 лет ни одной не видел. -- Maxim Boguk www.postgresql-consulting.ru ETL тулзы иногда такие затейники - вот мой например генерит на каждую времянку select count(*). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2015, 15:58 |
|
||
|
count(*) идет крайне медленно
|
|||
|---|---|---|---|
|
#18+
Maxim BogukIvan DurakА еще различие - мсскл индексирует null значения, а остальные субд (и пг в том числе) нет. Как интересно а откуда вы это взяли про PostgreSQL? На всякий случай для читателей - PostgreSQL индексирует NULL's и делает это лет 10 последних минимум если не 15. -- Maxim Boguk www.postgresql-consulting.ru с ораклом спутал, пардон! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2015, 16:01 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=109&tid=1997930]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
15ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 278ms |

| 0 / 0 |
