Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
индексы и count
|
|||
|---|---|---|---|
|
#18+
здравствуйте! имеется: PostgreSQL 8 таблица x, 700 тысяч записей. поле id_filed, два значения индексы по этому полю. как отдельный, так и составные. требуется посчитать кол-во записей по одному значению делаю запрос: select count(*) from x where id_field=1 запрос выполняется 10 секунд эксплейн показывает Seq Scan on x (cost=0.00..34156.96 rows=522375 width=0) Filter: (id_field=1) ничего не пойму, как сделать чтобы работало быстро? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2005, 09:58 |
|
||
|
индексы и count
|
|||
|---|---|---|---|
|
#18+
Таблица счетчиков (id_field,id_field_count). И триггеры на insert, delete, update по основной таблице, которые изменяют данные в таблице счетчиков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2005, 10:11 |
|
||
|
индексы и count
|
|||
|---|---|---|---|
|
#18+
поискал в архиве. почитал. осознал всю глубину. не думал что в 21м веке, когда космические корабли бороздят просторы вселенной, такое возможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2005, 10:19 |
|
||
|
индексы и count
|
|||
|---|---|---|---|
|
#18+
nash_kinпоискал в архиве. почитал. осознал всю глубину. не думал что в 21м веке, когда космические корабли бороздят просторы вселенной, такое возможно. Не бороздят. Мы сейчас даже до Луны не летаем. А в чем проблема? Как еще ты пересчитаешь все подходящие под условие записи, нежели полным перебором? Я уже с кем-то обсуждал эту проблему, в ответ на желание хранить где-нибудь число записей в таблице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2005, 11:42 |
|
||
|
индексы и count
|
|||
|---|---|---|---|
|
#18+
Наверное имеется в виду , что у серверов блокировочников можно не перебирать записи в таблицах - а просто спросить у имеющегося индекса количество ключей удовлетворяющих условию.. Ибо у них сколько записей в ключе столько записей и в таблице. У версионника - коим являтся постгрес- количество ключей в индесе не равно количеству записей в таблице= ибо версий одной записи может быть довольно много и выяснить какая из них актуальная, а какая уже удалена или изменена в другой транзакции можно только если попробовать прочитать ее.. Кто желдает более подробно понять версионную архитектуру может почитать http://ibase.ru/devinfo/mga.htm Там разжевано довольно хорошо - и хоть там все в контесте Interbase/Firebird, для PG основные тезисы также верны . Тем более, что новый сервер от Microsoft также будет иметь версионную архитектуру. ( причем на семинарах микрософт посвященным презентации нового сервера - они преподносят эту архитектуру как абсолютно новую инновацию и остается стойкое ощущение, что это все они и придумали :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2005, 12:06 |
|
||
|
индексы и count
|
|||
|---|---|---|---|
|
#18+
Кувалдин РоманНе бороздят. Мы сейчас даже до Луны не летаем. А в чем проблема? Как еще ты пересчитаешь все подходящие под условие записи, нежели полным перебором? Я уже с кем-то обсуждал эту проблему, в ответ на желание хранить где-нибудь число записей в таблице. проблема в том что скорость подобного перебора не устраивает, других проблем вроде нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2005, 14:01 |
|
||
|
индексы и count
|
|||
|---|---|---|---|
|
#18+
Вам же предложили решение для малоселективного индекса: LeXa NalBatТаблица счетчиков (id_field,id_field_count). И триггеры на insert, delete, update по основной таблице, которые изменяют данные в таблице счетчиков. Т.е. проблема в низкой селективности индекса. (Для п-кея, к примеру проведется индекс скан). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2005, 14:48 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=33334679&tid=2006924]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 257ms |
| total: | 381ms |

| 0 / 0 |
