This version has been synchonized with English version at Mar 03.

With best wishes,Victor Vislobokov
Perm, Russia
This commit is contained in:
Bruce Momjian 2002-03-05 06:20:51 +00:00
parent 7bf7b0bd75
commit 590102c20b
2 changed files with 37 additions and 1170 deletions

File diff suppressed because it is too large Load diff

View file

@ -14,7 +14,7 @@
alink="#0000ff"> alink="#0000ff">
<H1>Ответы на часто задаваемые вопросы по PostgreSQL</H1> <H1>Ответы на часто задаваемые вопросы по PostgreSQL</H1>
<P>Дата последнего обновления: Четверг 18 Февраля 17:56:04 EST 2002</P> <P>Дата последнего обновления: Воскресенье 3 Марта 13:35:39 EST 2002</P>
<P>Английский вариант сопровождает: Брюс Момьян (Bruce Momjian) (<A href= <P>Английский вариант сопровождает: Брюс Момьян (Bruce Momjian) (<A href=
"mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR> "mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
@ -929,34 +929,36 @@
<H4><A name="4.8">4.8</A>) У меня медленно работают запросы или не <H4><A name="4.8">4.8</A>) У меня медленно работают запросы или не
происходит использования индексов. Почему?</H4> происходит использования индексов. Почему?</H4>
<P>PostgreSQL не управляет статистикой автоматически. Для обновления <P>Индексы не используются для каждого запроса автоматически. Они
статистики должен быть запущен оператор V<SMALL>ACUUM</SMALL>. используются только если таблица больше минимального размера и запрос
После того, как статистика обновилась, оптимизатор узнает о том как выбирает только маленький процент записей в таблице. Так устроено,
много записей в таблице и если он должен использовать индексы, то потому что доступ к диску с применением рандомизации при сканировании
он может принимать лучшие решения. Заметим, что оптимизатор не использует индексов иногда медленнее, чем простое чтение таблицы или ее
индексы в случае, когда таблица маленькая, потому что простой последовательное сканирование.</P>
последовательный перебор будет быстрее.</P>
<P>Чтобы определить необходимость использования индекса для какой-либо
<P>Для специфической статистики по колонкам, используйте <SMALL>VACUUM таблицы, PostgreSQL должен иметь статистику по этой таблице. Эта
ANALYZE.</SMALL> V<SMALL>ACUUM ANALYZE</SMALL> является важным для статистика собирается при использовании <SMALL>VACUUM ANALYZE</SMALL>
комплексных запросов множественного связывания, так как оптимизатор или просто <SMALL>ANALYZE</SMALL>. Используя статистику, оптимизатор
может оценить количество записей, возвращаемых от каждой таблицы и узнает о том как много записей в таблице и если он должен использовать
выбрать правильный порядок связывания. Backend не осуществляет индексы, то он может принимать лучшие решения. Статистика также
для себя отслеживание статистики по колонкам, так что для сбора влияет на определение оптимального порядка связывания и метода связывания.
статистики нужно периодически запускать <SMALL>VACUUM ANALYZE</SMALL>.</P> Сбор статистики должен периодически выполнятся при изменении содержимого
таблицы.</P>
<P>Обычно индексы не используются для <SMALL>ORDER BY</SMALL> или
связываний. Последовательный перебор через явную сортировку будет <P>Обычно индексы не используются для <SMALL>ORDER BY</SMALL> или для
быстрее, чем поиск по индексам всех записей в большой таблице, выполнения связываний. Последовательный перебор следующий за явной
потому что доступ к диску с использованием рандомизации очень сортировкой обычно быстрее, чем поиск по индексам в большой таблице.
медленен.</P> Однако, <SMALL>ORDER BY</SMALL> часто комбинируется с <SMALL>LIMIT</SMALL>
и в этом случае индекс будет использоваться, поскольку при выполнении
будет возвращаться небольшая часть таблицы.</P>
<P>Когда используются операции с шаблонами, например <SMALL>LIKE</SMALL> <P>Когда используются операции с шаблонами, например <SMALL>LIKE</SMALL>
или <I>~</I>, индексы могут быть использованы только если начало или <I>~</I>, индексы могут быть использованы только если начало
строки-шаблона для поиска, соответствует началу искомой строки. строки-шаблона для поиска, соответствует началу искомой строки.
Так что для того, чтобы использовать индексы, строка шаблона в Следовательно, для того, чтобы использовать индексы, шаблон в
<SMALL>LIKE</SMALL> не должна начинаться на <I>%</I>, а в <I>~</I> <SMALL>LIKE</SMALL> не должен начинаться на <I>%</I>, а в <I>~</I>
(поиск регулярного выражения) должна начинаться с <I>^</I>.</P> (поиск регулярного выражения) должен начинаться на <I>^</I>.</P>
<H4><A name="4.9">4.9</A>) Как посмотреть на то, как оптимизатор выполняет <H4><A name="4.9">4.9</A>) Как посмотреть на то, как оптимизатор выполняет
мой запрос?</H4> мой запрос?</H4>
@ -1135,7 +1137,7 @@ BYTEA bytea
<P>Для реализации конкуретности, значения последовательностей, при <P>Для реализации конкуретности, значения последовательностей, при
необходимости выдаются во время запуска транзакций и не блокируются необходимости выдаются во время запуска транзакций и не блокируются
до полного выполнения транзакций. Это может вызывать разрывы в до полного выполнения транзакций. Это может вызывать разрывы в
нумерации при отмене транзакций</P> нумерации при отмене транзакций.</P>
<H4><A name="4.16">4.16</A>) Что такое <SMALL>OID</SMALL>? Что такое <H4><A name="4.16">4.16</A>) Что такое <SMALL>OID</SMALL>? Что такое