23.2. РегÑлÑÑÐ½Ð°Ñ Ð¿ÐµÑеиндекÑаÑиÑ
РнекоÑоÑÑÑ ÑиÑÑаÑиÑÑ ÑÑÐ¾Ð¸Ñ Ð¿ÐµÑиодиÑеÑки пеÑеÑÑÑаиваÑÑ Ð¸Ð½Ð´ÐµÐºÑÑ, вÑполнÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ REINDEX или поÑледоваÑелÑноÑÑÑ Ð¾ÑделÑнÑÑ Ñагов по воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð½Ð´ÐµÐºÑов.
СÑÑаниÑÑ Ð¸Ð½Ð´ÐµÐºÑов на оÑнове B-деÑевÑев, коÑоÑÑе ÑÑали абÑолÑÑно пÑÑÑÑми, могÑÑ Ð±ÑÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ñ Ð¿Ð¾Ð²ÑоÑно. Ðднако возможноÑÑÑ Ð½ÐµÑÑÑекÑивного иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑоÑÑÑанÑÑва вÑÑ Ð¶Ðµ оÑÑаÑÑÑÑ: еÑли Ñо ÑÑÑаниÑÑ Ð±Ñли ÑÐ´Ð°Ð»ÐµÐ½Ñ Ð¿Ð¾ÑÑи вÑе, но не вÑе клÑÑи индекÑа, ÑÑÑаниÑа вÑÑ Ñавно оÑÑаÑÑÑÑ Ð·Ð°Ð½ÑÑой. СледоваÑелÑно, Ñаблон иÑполÑзованиÑ, пÑи коÑоÑом Ñо вÑеменем ÑдалÑÑÑÑÑ Ð¼Ð½Ð¾Ð³Ð¸Ðµ, но не вÑе клÑÑи в каждом диапазоне, пÑиведÑÑ Ðº неÑÑÑекÑÐ¸Ð²Ð½Ð¾Ð¼Ñ ÑаÑÑ Ð¾Ð´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑоÑÑÑанÑÑва. Ð ÑÐ°ÐºÐ¸Ñ ÑлÑÑаÑÑ ÑекомендÑеÑÑÑ Ð¿ÐµÑиодиÑеÑки пÑоводиÑÑ Ð¿ÐµÑеиндекÑаÑиÑ.
ÐозможноÑÑÑ ÑаздÑÐ²Ð°Ð½Ð¸Ñ Ð² индекÑÐ°Ñ Ð½Ð° оÑнове не B-деÑевÑев глÑбоко не иÑÑледовалаÑÑ. ÐоÑÑÐ¾Ð¼Ñ Ð¸Ð¼ÐµÐµÑ ÑмÑÑл пеÑиодиÑеÑки оÑÑлеживаÑÑ ÑизиÑеÑкий ÑÐ°Ð·Ð¼ÐµÑ Ð¸Ð½Ð´ÐµÐºÑа, когда пÑименÑеÑÑÑ Ð¸Ð½Ð´ÐµÐºÑ Ñакого Ñипа.
ÐÑоме Ñого, Ñ B-деÑевÑÑми доÑÑÑп по недавно поÑÑÑÐ¾ÐµÐ½Ð½Ð¾Ð¼Ñ Ð¸Ð½Ð´ÐµÐºÑÑ Ð¾ÑÑÑеÑÑвлÑеÑÑÑ Ð½ÐµÐ¼Ð½Ð¾Ð³Ð¾ бÑÑÑÑее, нежели доÑÑÑп по индекÑÑ, коÑоÑÑй неоднокÑаÑно изменÑлÑÑ, поÑколÑÐºÑ Ð² недавно поÑÑÑоенном индекÑе ÑÑÑаниÑÑ, близкие логиÑеÑки, обÑÑно ÑаÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ñ Ñак же близко и ÑизиÑеÑки. (ÐÑо ÑообÑажение непÑименимо к индекÑам, коÑоÑÑе оÑÐ½Ð¾Ð²Ð°Ð½Ñ Ð½Ðµ на B-деÑевÑÑÑ .) ÐоÑÑÐ¾Ð¼Ñ Ð¿ÐµÑиодиÑеÑки пÑоводиÑÑ Ð¿ÐµÑеиндекÑаÑÐ¸Ñ ÑÑÐ¾Ð¸Ñ Ñ Ð¾ÑÑ Ð±Ñ Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ ÑвелиÑиÑÑ ÑкоÑоÑÑÑ Ð´Ð¾ÑÑÑпа.
ÐÐ¾Ð¼Ð°Ð½Ð´Ñ REINDEX пÑоÑÑа и безопаÑна Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² лÑбÑÑ
ÑлÑÑаÑÑ
. Ðо Ñак как она ÑÑебÑÐµÑ Ð¸ÑклÑÑиÑелÑной блокиÑовки ÑаблиÑÑ, ÑаÑÑо пÑедпоÑÑиÑелÑнее пеÑеÑÑÑаиваÑÑ Ð¸Ð½Ð´ÐµÐºÑ Ð² неÑколÑко ÑÑапов, вклÑÑаÑÑиÑ
Ñоздание и Ð·Ð°Ð¼ÐµÐ½Ñ Ð¸Ð½Ð´ÐµÐºÑа. Ð¢Ð¸Ð¿Ñ Ð¸Ð½Ð´ÐµÐºÑов, коÑоÑÑе поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ CREATE INDEX Ñ Ñказанием CONCURRENTLY, можно поÑÑÑоиÑÑ Ð¸Ð¼ÐµÐ½Ð½Ð¾ Ñак. ÐÑли ÑÑо ÑдаÑÑÑÑ Ð¸ полÑÑен ÑабоÑий индекÑ, изнаÑалÑнÑй Ð¸Ð½Ð´ÐµÐºÑ Ð¼Ð¾Ð¶Ð½Ð¾ замениÑÑ Ð¸Ð¼, вÑполнив ALTER INDEX и DROP INDEX. Ðогда Ð¸Ð½Ð´ÐµÐºÑ Ð¸ÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð¾Ð±ÐµÑпеÑÐµÐ½Ð¸Ñ ÑникалÑноÑÑи или дÑÑгиÑ
огÑаниÑений, Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑебоваÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° ALTER TABLE, ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð¼ÐµÐ½ÑÑÑ ÑÑÑеÑÑвÑÑÑее огÑаниÑение на Ñо, ÑÑо обеÑпеÑÐ¸Ð²Ð°ÐµÑ Ð½Ð¾Ð²Ñй индекÑ. ÐбÑÑоÑÑелÑно пÑодÑмайÑе ÑÑÑ Ð¼Ð½Ð¾Ð³Ð¾Ñ
одовÑÑ Ð¿ÑоÑедÑÑÑ, пÑежде Ñем вÑполнÑÑÑ ÐµÑ, Ñак как не вÑе индекÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ пеÑеÑÑÑоиÑÑ Ñаким обÑазом, и пÑедÑÑмоÑÑиÑе обÑабоÑÐºÑ Ð¾Ñибок.