Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / помогите плз оптимизировать базу по скорости / 9 сообщений из 9, страница 1 из 1
02.02.2006, 17:17
    #33519793
vladimir1024
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите плз оптимизировать базу по скорости
Сабж, плиз!

Что лучше:
иметь 10 таблиц по 2 000 000 записей и на каждую из них - свои хранимые процедуры (полностью идентичные по коду, только работающие с разными таблицами)

ИЛИ

одну общую таблицу, куда слить все те 10 штук, на 20 000 000 записей с дополнительным полем, по которому будут делаться VIEW (SELECT * from TABLE where field_id=XX)

А далее работать хранимыми процедурами с этими VIEW.

Таблицы ни с чем не связаны. Ни на кого не ссылаются.
...
Рейтинг: 0 / 0
02.02.2006, 17:33
    #33519861
Кувалдин Роман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите плз оптимизировать базу по скорости
vladimir1024Сабж, плиз!

Что лучше:
иметь 10 таблиц по 2 000 000 записей и на каждую из них - свои хранимые процедуры (полностью идентичные по коду, только работающие с разными таблицами)

ИЛИ

одну общую таблицу, куда слить все те 10 штук, на 20 000 000 записей с дополнительным полем, по которому будут делаться VIEW (SELECT * from TABLE where field_id=XX)

А далее работать хранимыми процедурами с этими VIEW.

Таблицы ни с чем не связаны. Ни на кого не ссылаются.

Ну если считать накладные расходы на открытие файла таблицы и файла индекса, тогда вариант 1х20 предпочтительнее 10х2.

А вообще - наверное особой разницы не будет.
...
Рейтинг: 0 / 0
02.02.2006, 17:45
    #33519897
Gold Fish
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите плз оптимизировать базу по скорости
Помоему всетаки выборка из таблицы в 2 000 000 будет быстрее это при условии что при обработке затрагиваются данные из 1 таблицы, еслиже тебе при твоей обработке нужны данные из всех таблиц то быстрее будет 1. Главное правильно индексы создать
...
Рейтинг: 0 / 0
02.02.2006, 17:47
    #33519906
st_serg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите плз оптимизировать базу по скорости
В доке раздел "5.9. Partitioning" (пг 8.1.2) не читал еще? может поможет чемнить.
...
Рейтинг: 0 / 0
02.02.2006, 19:13
    #33520188
Hordi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите плз оптимизировать базу по скорости
10 таблиц быстрее. VIEW - это просто строка запроса, данные реально все равно хранятся в одном месте.
...
Рейтинг: 0 / 0
03.02.2006, 12:33
    #33521663
Funny_Falcon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите плз оптимизировать базу по скорости
Hordi10 таблиц быстрее
Правда? Могу поверить, если какой-то запрос сваливается в seqscan.
Люди убедите меня что это правда в любом случае!!!
А то у меня таблица, в ней пока только за 2 месяца данные. Не хочу наступить на грабли месяца через три.
...
Рейтинг: 0 / 0
03.02.2006, 14:49
    #33522219
Andrey Daeron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите плз оптимизировать базу по скорости
Funny_Falcon Hordi10 таблиц быстрее
Правда? Могу поверить, если какой-то запрос сваливается в seqscan.
Люди убедите меня что это правда в любом случае!!!
А то у меня таблица, в ней пока только за 2 месяца данные. Не хочу наступить на грабли месяца через три.
Грабли, увеличиваюшщиеся с увеличением таблицы:
1. Запросы падающие на seqscan. Т.е. это count(), да пожалуй и все.
2. Увеличение размеров btree индексов.
Проблемы:
1. Увеличивает время поиска по бинарному дереву за счет увеличения кол-ва записей ( впрочем не на много ln(n) -это савсем мало 10 раз это 2^4 т.е. на 4 шага - мелочи) .
2. Увеличение страниц индекса - это уже посерьезнее, больше IO на чтение, больше памяти на кеширование. К сожалению как раз в 10 раз.
Решение:
1. Партиционные индексы таки рулят :), и могут реально избавить от его увеличения. А то что их будет 10 - ну, это совсем не страшно.
3. Увеличение места занимаемго таблицей:
Проблемы:
1. А все таже с страницами при поиске, просмотре и выборке.Падение быстродействия - ХЗ, зависит от размера записи
2. Увеличение времени обслуживания СУБД т.е. vacuum, analyze и т.д.
3. Возможно ухудшение статистики
Решение:
1. А никак ИМХО.
2. Памяти и побольше.
3. А никак ИМХО.
Больше я проблем не вижу.
...
Рейтинг: 0 / 0
03.02.2006, 14:51
    #33522225
Andrey Daeron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите плз оптимизировать базу по скорости
Funny_Falcon Hordi10 таблиц быстрее
Правда? Могу поверить, если какой-то запрос сваливается в seqscan.
Люди убедите меня что это правда в любом случае!!!
А то у меня таблица, в ней пока только за 2 месяца данные. Не хочу наступить на грабли месяца через три.
А вердикт простой - таки медление. А вот на сколько - глубокий филосовский вопрос. ИМХО - незначительно. Впрочем при малых объемах памяти может наступить коммунизм (например для MS SQL как только для JOINов не хватает памяти падение быстродействие в несколько раз, и я не думаю, что у постгреса с этим сильно лучше).
...
Рейтинг: 0 / 0
03.02.2006, 17:00
    #33522747
Кувалдин Роман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите плз оптимизировать базу по скорости
Funny_Falcon Hordi10 таблиц быстрее
Правда? Могу поверить, если какой-то запрос сваливается в seqscan.
Люди убедите меня что это правда в любом случае!!!
А то у меня таблица, в ней пока только за 2 месяца данные. Не хочу наступить на грабли месяца через три.

А ты напихай в тестовую базу данных на 5 лет вперед и поэкспериментируй.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / помогите плз оптимизировать базу по скорости / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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