|
|
|
Почему EXPLAIN быстрый, а SELECT - нет?
|
|||
|---|---|---|---|
|
#18+
Подскажите, пожалуйста, Есть следующий запрос: Код: plsql 1. Он выполняется со следующим результатом 7863 rows in set (36.42 sec) Делаю тоже самое но перед запросом пишу EXPLAIN (ANALYSE,BUFFERS) Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. REINDEX и VACCUM сделал. Почему запрос может выполняться так медленно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 11:37 |
|
||
|
Почему EXPLAIN быстрый, а SELECT - нет?
|
|||
|---|---|---|---|
|
#18+
Stan_1, Вы сначала расскажите чем меряли "Он выполняется со следующим результатом 7863 rows in set (36.42 sec)" кодом или как водится pgadmin ом? скорее всего вторым... а им нельзя время мерять никогда так как он во время включает время отрисовки таблицы у себя и прочее и на больших ответах всегда меделенно очень работает (и соответственно показывает медленное время). --Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 11:46 |
|
||
|
Почему EXPLAIN быстрый, а SELECT - нет?
|
|||
|---|---|---|---|
|
#18+
Maxim Boguk, по разному. И через консоль текстовую, и через внутренний скрипт, который делает просто SELECT, или через админку NaviCat. В любом случае - меньше 9 секунд не получалось. А типичное время - 9-17 секунд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 11:47 |
|
||
|
Почему EXPLAIN быстрый, а SELECT - нет?
|
|||
|---|---|---|---|
|
#18+
Stan_1Maxim Boguk, по разному. И через консоль текстовую, и через внутренний скрипт, который делает просто SELECT, или через админку NaviCat. В любом случае - меньше 9 секунд не получалось. А типичное время - 9-17 секунд. а если локально на базе psql -A ваша_база \timing \o /tmp/query_result.txt ваш_select; то 1)сколько времени занимает по данным psql консоли 2)какого размера получается файл /tmp/query_result.txt ? PS: сейчас остаются две теории... как раз вот эти два вопроса помогут решить какой из двух вариантов рабочий. --Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 12:01 |
|
||
|
Почему EXPLAIN быстрый, а SELECT - нет?
|
|||
|---|---|---|---|
|
#18+
Maxim BogukStan_1Maxim Boguk, по разному. И через консоль текстовую, и через внутренний скрипт, который делает просто SELECT, или через админку NaviCat. В любом случае - меньше 9 секунд не получалось. А типичное время - 9-17 секунд. а если локально на базе psql -A ваша_база \timing \o /tmp/query_result.txt ваш_select; то 1)сколько времени занимает по данным psql консоли 2)какого размера получается файл /tmp/query_result.txt ? PS: сейчас остаются две теории... как раз вот эти два вопроса помогут решить какой из двух вариантов рабочий. --Maxim Boguk www.postgresql-consulting.ru Сорри за паузу 1. Time: 548.497 ms 2. -rw-r--r-- 1 admin admin 76552315 Jan 29 06:29 /tmp/select.txt ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2015, 14:31 |
|
||
|
Почему EXPLAIN быстрый, а SELECT - нет?
|
|||
|---|---|---|---|
|
#18+
Stan_1, а за какое время вы хотите передать 100MB ответа базы на клиента по сети интересно? если сеть 100mbit как раз ~9 секунд и получится (+ клиенту это все еще разбирать). т.е. или сеть быстрее или не * выбирать а те поля что вам надо чтобы размер ответа был нормальный, лимитирующий фактор для вас пропускная способность сети сейчас. --Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2015, 15:05 |
|
||
|
Почему EXPLAIN быстрый, а SELECT - нет?
|
|||
|---|---|---|---|
|
#18+
Maxim BogukStan_1, а за какое время вы хотите передать 100MB ответа базы на клиента по сети интересно? если сеть 100mbit как раз ~9 секунд и получится (+ клиенту это все еще разбирать). т.е. или сеть быстрее или не * выбирать а те поля что вам надо чтобы размер ответа был нормальный, лимитирующий фактор для вас пропускная способность сети сейчас. --Maxim Boguk www.postgresql-consulting.ru Черт. :( Я читал это как 7 мбайт. :( Понял. Сорри. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2015, 15:19 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=38866729&tid=1998211]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
181ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 479ms |

| 0 / 0 |
