
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
19.07.2006, 17:34
|
|||
|---|---|---|---|
ускорение выполнения запроса SELECT COUNT |
|||
|
#18+
В веб-приложении (пхп) используются запросы вида SELECT COUNT(*) FROM sometable; они жутко тормозят приложение (запрос выполняется 6-7 секунд) Можно ли как-то увеличить скорость выполнения запроса, возможно нужно просто как-то изменить запрос на более уместный? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.07.2006, 17:52
|
|||
|---|---|---|---|
|
|||
ускорение выполнения запроса SELECT COUNT |
|||
|
#18+
Неоднократно здесь писали. Пользуйся поиском. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.07.2006, 18:18
|
|||
|---|---|---|---|
ускорение выполнения запроса SELECT COUNT |
|||
|
#18+
странно - ничего не нашел - ничего кроме сравнения count(1) count(*) Может что-то еще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.07.2006, 05:35
|
|||
|---|---|---|---|
|
|||
ускорение выполнения запроса SELECT COUNT |
|||
|
#18+
twistfireВ веб-приложении (пхп) используются запросы вида SELECT COUNT(*) FROM sometable; они жутко тормозят приложение (запрос выполняется 6-7 секунд) Можно ли как-то увеличить скорость выполнения запроса, возможно нужно просто как-то изменить запрос на более уместный?Что за таблица? Сколько в ней записей? Индексы по таблице есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.07.2006, 06:58
|
|||
|---|---|---|---|
|
|||
ускорение выполнения запроса SELECT COUNT |
|||
|
#18+
Странно как-то искал.... Например: /topic/216436&hl=count /topic/251251&hl=count /topic/227461&hl=count ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.07.2006, 07:03
|
|||
|---|---|---|---|
|
|||
ускорение выполнения запроса SELECT COUNT |
|||
|
#18+
авторЧто за таблица? Сколько в ней записей? Индексы по таблице есть? Какое отношение к запросу с COUNT имеют индексы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.07.2006, 07:05
|
|||
|---|---|---|---|
|
|||
ускорение выполнения запроса SELECT COUNT |
|||
|
#18+
ChameLe0n авторЧто за таблица? Сколько в ней записей? Индексы по таблице есть? Какое отношение к запросу с COUNT имеют индексы?Теперь уже никакого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.07.2006, 13:26
|
|||
|---|---|---|---|
ускорение выполнения запроса SELECT COUNT |
|||
|
#18+
Все равно не понимаю. Как у Sad Spirit получилось Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. у меня получается Код: plaintext 1. 2. 3. 4. 5. 6. 7. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Что я делаю не так? Возможно нужно использовать триггеры, это не отразится на скорости работы веб-приложения? Как написать такой триггер - покажите пример пожалуйста. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.07.2006, 14:21
|
|||
|---|---|---|---|
|
|||
ускорение выполнения запроса SELECT COUNT |
|||
|
#18+
Скорее всего у тебя очень много ID>0. Соответственно, веса планов для SEQ_SCAN и INDEX_SCAN одинаковые. Планировщику проще перелопатить таблицу, нежели перелопачивать индекс, и для каждого узла лезть в таблицу и доставать оттуда строку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.07.2006, 11:16
|
|||
|---|---|---|---|
ускорение выполнения запроса SELECT COUNT |
|||
|
#18+
posovetovali ispolzovat sistwmnie tablici.... ia ne zneu kakim makarom - est chto-li dannie o kolichestve zapisei v opredelennih tablicah? esli ispolzovat triggeri - kak luchshe organizovat rabotu s usloviami (WHERE)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.07.2015, 19:13
|
|||
|---|---|---|---|
|
|||
ускорение выполнения запроса SELECT COUNT |
|||
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. Explain: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. Четыре запроса - уже секунда, плюс десяток других, "лёгких" запросов, плюс отработка скрипта и уже полторы-две секунды на формирование страницы. Это очень много. Прегенерация не вариант, т.к. два десятка различных фильтров, на все комбинации не нагенеришь. Джойнов тоже может прибаляться в зависимости от фильтров, а соответсвенно дополнительные Nested Loops и время на запрос доходит до секунды-полутора. Есть идеи что сделать можно? Денормализовать слив в одну таблицу или ещё что-то сделать можно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.07.2015, 06:26
|
|||
|---|---|---|---|
|
|||
ускорение выполнения запроса SELECT COUNT |
|||
|
#18+
Sufir Код: sql 1. 2. 3. 4. 5. 6. 7. Explain: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. Четыре запроса - уже секунда, плюс десяток других, "лёгких" запросов, плюс отработка скрипта и уже полторы-две секунды на формирование страницы. Это очень много. Прегенерация не вариант, т.к. два десятка различных фильтров, на все комбинации не нагенеришь. Джойнов тоже может прибаляться в зависимости от фильтров, а соответсвенно дополнительные Nested Loops и время на запрос доходит до секунды-полутора. Есть идеи что сделать можно? Денормализовать слив в одну таблицу или ещё что-то сделать можно? Разобраться для чего вообще вы эти цифры показываете и отключить. Так как в цифре есть 20816 открытых тикетов смысла ровно ноль для всех. Еще может помочь создание индексов так чтобы наиболее популярные запросы шли через IOS (index only scan) это может ускорить раза в два-четыре. -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.07.2015, 20:20
|
|||
|---|---|---|---|
|
|||
ускорение выполнения запроса SELECT COUNT |
|||
|
#18+
Лучше уже тригером обновлять счетчик в левой таблице при update/delete/insert на таблице с состояние тикетов. Чем делать этот "ацкий" count. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.07.2015, 20:50
|
|||
|---|---|---|---|
ускорение выполнения запроса SELECT COUNT |
|||
|
#18+
Electric200Лучше уже тригером обновлять счетчик в левой таблице при update/delete/insert на таблице с состояние тикетов. количество данных для "жутко тормозят" на линейной выборке по таблице многовероятно сформированы системой с многоболее одной транзакции одновременно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.07.2015, 09:49
|
|||
|---|---|---|---|
ускорение выполнения запроса SELECT COUNT |
|||
|
#18+
p2., да, реально чтений [страниц] там много меньше чем 21280 в лупах. хотелось бы buffers увидеть, чтобы значит скорость произвольного доступа оценить а автору подумать на предмет денормализации с переносом всех значимых полей в один индекс, для IOS [только если обновления записей не часты] . если бы время было минуты, а числа -- миллионы -- можно бы было хенджобно параллелить по диапазонам ключей (через дблинк) -- за счет того, что 10 соединений получат больше %% дискового, чем одно -- при высокой конкуренции -- но работы там до пупа, а толку -- с гулькин чуть -- вот если бы ещё и вычислительный запрос -- тогда ядра бы параллелились ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.07.2015, 09:59
|
|||
|---|---|---|---|
ускорение выполнения запроса SELECT COUNT |
|||
|
#18+
Sufir Прегенерация не вариант, т.к. два десятка различных фильтров, на все комбинации не нагенеришь.какбе прегененрировать можно не каунты а сабкаунтты -- 2 десятка -- это комбинация меньше 5! (факториал) -- т.е. вполне может оказаться кубик с <=5измерений, и одним ресурсом[count], который надо триггерно (точно) или асинхронно (оценочно) поддерживать. но не зная ваших фильтров -- не сообразить, так ли это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=53&mobile=1&tid=1997870]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
22ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 344ms |

| 0 / 0 |
