powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / индексы и count
7 сообщений из 7, страница 1 из 1
индексы и count
    #33334376
nash_kin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
здравствуйте!

имеется: 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)

ничего не пойму, как сделать чтобы работало быстро?
...
Рейтинг: 0 / 0
индексы и count
    #33334401
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблица счетчиков (id_field,id_field_count). И триггеры на insert, delete, update по основной таблице, которые изменяют данные в таблице счетчиков.
...
Рейтинг: 0 / 0
индексы и count
    #33334423
nash_kin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
поискал в архиве. почитал. осознал всю глубину.
не думал что в 21м веке, когда космические корабли бороздят просторы вселенной, такое возможно.
...
Рейтинг: 0 / 0
индексы и count
    #33334679
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nash_kinпоискал в архиве. почитал. осознал всю глубину.
не думал что в 21м веке, когда космические корабли бороздят просторы вселенной, такое возможно.

Не бороздят. Мы сейчас даже до Луны не летаем. А в чем проблема? Как еще ты пересчитаешь все подходящие под условие записи, нежели полным перебором? Я уже с кем-то обсуждал эту проблему, в ответ на желание хранить где-нибудь число записей в таблице.
...
Рейтинг: 0 / 0
индексы и count
    #33334745
domanix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наверное имеется в виду , что у серверов блокировочников можно
не перебирать записи в таблицах - а просто спросить у имеющегося индекса
количество ключей удовлетворяющих условию..
Ибо у них сколько записей в ключе столько записей и в таблице.
У версионника - коим являтся постгрес- количество ключей в индесе не равно количеству записей в таблице= ибо версий одной записи может быть довольно много и выяснить какая из них актуальная, а какая уже удалена или изменена в другой транзакции можно только если попробовать прочитать ее..
Кто желдает более подробно понять версионную архитектуру
может почитать http://ibase.ru/devinfo/mga.htm
Там разжевано довольно хорошо - и хоть там все в контесте Interbase/Firebird, для
PG основные тезисы также верны . Тем более, что новый сервер от Microsoft также будет иметь версионную архитектуру. ( причем на семинарах микрософт посвященным презентации нового сервера - они преподносят эту архитектуру как абсолютно новую инновацию и остается стойкое ощущение, что это все они и придумали :-)
...
Рейтинг: 0 / 0
индексы и count
    #33335133
nash_kin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кувалдин РоманНе бороздят. Мы сейчас даже до Луны не летаем. А в чем проблема? Как еще ты пересчитаешь все подходящие под условие записи, нежели полным перебором? Я уже с кем-то обсуждал эту проблему, в ответ на желание хранить где-нибудь число записей в таблице.

проблема в том что скорость подобного перебора не устраивает, других проблем вроде нет
...
Рейтинг: 0 / 0
индексы и count
    #33335300
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам же предложили решение для малоселективного индекса:
LeXa NalBatТаблица счетчиков (id_field,id_field_count). И триггеры на insert, delete, update по основной таблице, которые изменяют данные в таблице счетчиков.
Т.е. проблема в низкой селективности индекса. (Для п-кея, к примеру проведется индекс скан).
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / индексы и count
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]