Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Что такое GIST индексы? И вообще индексы в PosgreSQL.
|
|||
|---|---|---|---|
|
#18+
В связи со скорым выходом в свет PG 8.1 в котором эти индексы значительно усовершенствованы и рекомендуются к использованию, хотелось бы собрать воедино информацию по индексам и их применению в PostgreSQL. В настоящий момент PG поддерживает следющие индексы: 1. btree 2. rtree 3. hash 4. gist Подробннее по каждому: 1. BTREE - стандартный тип индекса, работает в куче случаев и операторов (<, <=, =, >=, >), и не работает для IS NULL, странных неправильных LIKE и т.д. 2. RTREE - это для двухмерных типов данных, и не предназначен для простых смертных. Используется для операторов работы с двухмерными данными. 3. HASH - по идее должно очень быстро работать для оператора =, но в связи с особенностями реализации толи btree толи самого hash работает не быстрее, и к использованию не рекомендуется (опять же по форуму летали сообщения о ошибках). 4. GIST - это не столько индекс, сколько инфраструктура для создания индексов. В связи с их полноценностью в PG 8.1 предполагается, что RTREE будет объявлен как устаревший. Собственно вопрос для тех кто работал с этими индексами вплотную: Имеет ли смысл (если да, то в каких случаях, если нет то - почему) продолжать использовать btree для стандартных типов данных? Или зачем нужен GIST в обычной жизни (без хытрых типов данных)? Частично ответ на этот вопрос дает следующая цитата http://www.sai.msu.su/~megera/postgres/talks/gist_tutorial.html : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Но хотелось бы чего большего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 13:06 |
|
||
|
Что такое GIST индексы? И вообще индексы в PosgreSQL.
|
|||
|---|---|---|---|
|
#18+
btree-gist намного (30-40% а иногда и больше) быстрее btree при поиске (по крацней мере на моих данных), кроме того любой gist можно дополнительно хаточить под личные нужды (поковырявшись в C-ых исходниках) - собственно эта гибкость и есть изюминка gist. Но наверняка он не будет использоваться в ORDER BY, ибо изначально GIST структура неупорядочена (btree-gist упорядочен, но движок gist упорядоченность не учитывает и использовать не может). Теоретически GIST может учитывать упорядоченность, может через некоторое время будет, но не факт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 14:50 |
|
||
|
Что такое GIST индексы? И вообще индексы в PosgreSQL.
|
|||
|---|---|---|---|
|
#18+
Funny_Falconbtree-gist намного (30-40% а иногда и больше) быстрее btree при поиске (по крацней мере на моих данных), кроме того любой gist можно дополнительно хаточить под личные нужды (поковырявшись в C-ых исходниках) - собственно эта гибкость и есть изюминка gist. А можно немного поконкретнее про данные? Т.е. это строки или timestamp или еще что-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 15:00 |
|
||
|
Что такое GIST индексы? И вообще индексы в PosgreSQL.
|
|||
|---|---|---|---|
|
#18+
строки, номера телефонов, в основном не повторяющиеся. из опыта, gist (btree-gist) очень любит мало повторяющиеся данные в первых столбцах индексов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2005, 16:27 |
|
||
|
|

start [/forum/topic.php?fid=53&gotonew=1&tid=2006982]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
12ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 389ms |

| 0 / 0 |
