13.7. ÐлокиÑовки и индекÑÑ #
ХоÑÑ Postgres Pro обеÑпеÑÐ¸Ð²Ð°ÐµÑ Ð½ÐµÐ±Ð»Ð¾ÐºÐ¸ÑÑÑÑий доÑÑÑп на ÑÑение/запиÑÑ Ðº даннÑм ÑаблиÑ, Ð´Ð»Ñ Ð¸Ð½Ð´ÐµÐºÑов в наÑÑоÑÑий Ð¼Ð¾Ð¼ÐµÐ½Ñ ÑÑо поддеÑживаеÑÑÑ Ð½Ðµ в полной меÑе. Postgres Pro ÑпÑавлÑÐµÑ Ð´Ð¾ÑÑÑпом к ÑазлиÑнÑм Ñипам индекÑов ÑледÑÑÑим обÑазом:
- ÐндекÑÑ Ñипа B-деÑево, GiST и SP-GiST
ÐÐ»Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑÑением/запиÑÑÑ Ð¸ÑполÑзÑÑÑÑÑ ÐºÑаÑковÑеменнÑе блокиÑовки на ÑÑовне ÑÑÑаниÑÑ, иÑклÑÑиÑелÑнÑе и ÑазделÑемÑе. ÐлокиÑовки оÑвобождаÑÑÑÑ ÑÑÐ°Ð·Ñ Ð¿Ð¾Ñле извлеÑÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑÑÑоки индекÑа. ÐÑи ÑÐ¸Ð¿Ñ Ð¸Ð½Ð´ÐµÐºÑов обеÑпеÑиваÑÑ Ð¼Ð°ÐºÑималÑное ÑаÑпаÑаллеливание опеÑаÑий, не допÑÑÐºÐ°Ñ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð±Ð»Ð¾ÐºÐ¸Ñовок.
- ХеÑ-индекÑÑ
ÐÐ»Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑÑением/запиÑÑÑ Ð¸ÑполÑзÑÑÑÑÑ Ð±Ð»Ð¾ÐºÐ¸Ñовки на ÑÑовне гÑÑпп Ñ ÐµÑа. ÐлокиÑовки оÑвобождаÑÑÑÑ Ð¿Ð¾Ñле обÑабоÑки вÑей гÑÑппÑ. Такие блокиÑовки Ñ ÑоÑки зÑÐµÐ½Ð¸Ñ ÑаÑпаÑÐ°Ð»Ð»ÐµÐ»Ð¸Ð²Ð°Ð½Ð¸Ñ Ð»ÑÑÑе, Ñем блокиÑовки на ÑÑовне индекÑа, но не иÑклÑÑаÑÑ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð±Ð»Ð¾ÐºÐ¸Ñовок, Ñак как они ÑÐ¾Ñ ÑанÑÑÑÑÑ Ð´Ð¾Ð»ÑÑе, Ñем вÑполнÑеÑÑÑ Ð¾Ð´Ð½Ð° опеÑаÑÐ¸Ñ Ñ Ð¸Ð½Ð´ÐµÐºÑом.
- ÐндекÑÑ GIN
ÐÐ»Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑÑением/запиÑÑÑ Ð¸ÑполÑзÑÑÑÑÑ ÐºÑаÑковÑеменнÑе блокиÑовки на ÑÑовне ÑÑÑаниÑÑ, иÑклÑÑиÑелÑнÑе и ÑазделÑемÑе. ÐлокиÑовки оÑвобождаÑÑÑÑ ÑÑÐ°Ð·Ñ Ð¿Ð¾Ñле извлеÑÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑÑÑоки индекÑа. Ðо замеÑÑÑе, ÑÑо добавление знаÑÐµÐ½Ð¸Ñ Ð² поле Ñ GIN-индекÑом обÑÑно влеÑÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ неÑколÑÐºÐ¸Ñ ÐºÐ»ÑÑей индекÑа, Ñак ÑÑо GIN Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑоделÑваÑÑ ÑелÑй ÑÑд опеÑаÑий Ð´Ð»Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ знаÑениÑ.
РнаÑÑоÑÑее вÑÐµÐ¼Ñ Ð² многопоÑоÑной ÑÑеде наиболее пÑоизводиÑелÑÐ½Ñ Ð¸Ð½Ð´ÐµÐºÑÑ-B-деÑевÑÑ; и Ñак как они более ÑÑнкÑионалÑнÑ, Ñем Ñ ÐµÑ-индекÑÑ, Ð¸Ñ ÑекомендÑеÑÑÑ Ð¸ÑполÑзоваÑÑ Ð² Ñакой ÑÑеде Ð´Ð»Ñ Ð¿Ñиложений, когда нÑжно индекÑиÑоваÑÑ ÑкалÑÑнÑе даннÑе. ÐÑли же нÑжно индекÑиÑоваÑÑ Ð½Ðµ ÑкалÑÑнÑе даннÑе, B-деÑевÑÑ Ð½Ðµ Ð¿Ð¾Ð´Ñ Ð¾Ð´ÑÑ, и вмеÑÑо Ð½Ð¸Ñ ÑледÑÐµÑ Ð¸ÑполÑзоваÑÑ Ð¸Ð½Ð´ÐµÐºÑÑ GiST, SP-GiST или GIN.