69.2. РеализаÑÐ¸Ñ #
Ð Ñ ÐµÑ-индекÑе еÑÑÑ ÑеÑÑÑе Ñипа ÑÑÑаниÑ: меÑаÑÑÑаниÑа (нÑÐ»ÐµÐ²Ð°Ñ ÑÑÑаниÑа), ÑодеÑжаÑÐ°Ñ ÑÑаÑиÑеÑки ÑазмеÑÑннÑÑ ÑпÑавлÑÑÑÑÑ Ð¸Ð½ÑоÑмаÑиÑ, оÑновнÑе ÑÑÑаниÑÑ ÑÑеек, ÑÑÑаниÑÑ Ð¿ÐµÑÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¸ ÑÑÑаниÑÑ Ð±Ð¸Ñовой каÑÑÑ, в коÑоÑÑÑ Ð¾ÑÑлеживаÑÑÑÑ Ð¾ÑвободивÑиеÑÑ ÑÑÑаниÑÑ Ð¿ÐµÑеполнениÑ, пÑигоднÑе Ð´Ð»Ñ Ð¿Ð¾Ð²ÑоÑного иÑполÑзованиÑ. СÑÑаниÑÑ Ð±Ð¸Ñовой каÑÑÑ Ð´Ð»Ñ Ñелей адÑеÑаÑии ÑаÑÑмаÑÑиваÑÑÑÑ ÐºÐ°Ðº подмножеÑÑво ÑÑÑÐ°Ð½Ð¸Ñ Ð¿ÐµÑеполнениÑ.
Ðак ÑканиÑование индекÑа, Ñак и добавление коÑÑежей ÑÑебÑÐµÑ Ð²ÑÑиÑÐ»ÐµÐ½Ð¸Ñ ÑÑейки, в коÑоÑой должен ÑаÑполагаÑÑÑÑ Ð´Ð°Ð½Ð½Ñй коÑÑеж. ÐÐ»Ñ ÑÑого нÑжно знаÑÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво ÑÑеек и знаÑÐµÐ½Ð¸Ñ highmask и lowmask из меÑаÑÑÑаниÑÑ; однако Ð´Ð»Ñ Ð¾Ð¿ÑималÑной пÑоизводиÑелÑноÑÑи нежелаÑелÑно блокиÑоваÑÑ Ð¸ закÑеплÑÑÑ Ð¼ÐµÑаÑÑÑаниÑÑ Ð¿Ñи каждой Ñакой опеÑаÑии. ÐоÑÑÐ¾Ð¼Ñ Ð² кеÑе оÑноÑений каждого обÑлÑживаÑÑего пÑоÑеÑÑа имееÑÑÑ ÐºÐµÑиÑÐ¾Ð²Ð°Ð½Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ð¼ÐµÑаÑÑÑаниÑÑ. ÐлагодаÑÑ ÑÑÐ¾Ð¼Ñ Ð¾Ð±ÐµÑпеÑиваеÑÑÑ Ð¿ÑавилÑное ÑопоÑÑавление ÑÑеек пÑи ÑÑловии, ÑÑо ÑÐµÐ»ÐµÐ²Ð°Ñ ÑÑейка не бÑла Ñазделена Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñа поÑледнего Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐµÑа.
ÐÑновнÑе ÑÑÑаниÑÑ ÑÑеек и ÑÑÑаниÑÑ Ð¿ÐµÑÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð²ÑделÑÑÑÑÑ Ð½ÐµÐ·Ð°Ð²Ð¸Ñимо, поÑколÑÐºÑ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ конкÑеÑного индекÑа Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑебоваÑÑÑÑ Ð±Ð¾Ð»ÑÑе или менÑÑе ÑÑÑÐ°Ð½Ð¸Ñ Ð¿ÐµÑÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¾ÑноÑиÑелÑно колиÑеÑÑва ÑÑеек в нÑм. Ð ÑаÑÑÑÑе Ñ ÐµÑ-кодов иÑполÑзÑеÑÑÑ Ð¸Ð½ÑеÑеÑнÑй Ð½Ð°Ð±Ð¾Ñ Ð¿Ñавил, позволÑÑÑий поддеÑживаÑÑ Ð¿ÐµÑеменное колиÑеÑÑво ÑÑÑÐ°Ð½Ð¸Ñ Ð¿ÐµÑеполнениÑ, не ÑÑебÑÑ Ð¿ÐµÑемеÑÐµÐ½Ð¸Ñ Ð¾ÑновнÑÑ ÑÑÑÐ°Ð½Ð¸Ñ ÑÑеек поÑле Ð¸Ñ ÑозданиÑ.
ÐÐ°Ð¶Ð´Ð°Ñ Ð¿ÑоиндекÑиÑÐ¾Ð²Ð°Ð½Ð½Ð°Ñ ÑÑÑока в ÑаблиÑе пÑедÑÑавлена в Ñ ÐµÑ-индекÑе одним индекÑнÑм коÑÑежем. ÐоÑÑежи Ñ ÐµÑ-индекÑа Ñ ÑанÑÑÑÑ Ð² ÑÑÑаниÑÐ°Ñ ÑÑеек и ÑÑÑаниÑÐ°Ñ Ð¿ÐµÑÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ (еÑли они еÑÑÑ). ÐÐ»Ñ ÑÑкоÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð¸Ñка ÑлеменÑÑ Ð¸Ð½Ð´ÐµÐºÑа ÑазмеÑаÑÑÑÑ Ð² каждой конкÑеÑной ÑÑÑаниÑе ÑпоÑÑдоÑеннÑми по Ñ ÐµÑ-кодÑ, ÑÑо позволÑÐµÑ Ð¸ÑполÑзоваÑÑ Ð² ÑÐ°Ð¼ÐºÐ°Ñ ÑÑÑаниÑÑ Ð´Ð²Ð¾Ð¸ÑнÑй поиÑк. Ðднако замеÑÑÑе, ÑÑо Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ Ð¿Ñедположений об оÑноÑиÑелÑном поÑÑдке Ñ ÐµÑ-кодов в ÑазнÑÑ ÑÑÑаниÑÐ°Ñ , оÑноÑÑÑÐ¸Ñ ÑÑ Ðº одной ÑÑейки, делаÑÑ Ð½ÐµÐ»ÑзÑ.
ÐлгоÑиÑÐ¼Ñ ÑÐ°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ ÑÑеек Ð´Ð»Ñ ÑаÑÑиÑÐµÐ½Ð¸Ñ Ñ ÐµÑ-индекÑа ÑлиÑком ÑложнÑ, ÑÑÐ¾Ð±Ñ ÑпоминаÑÑ Ð¾ Ð½Ð¸Ñ Ð·Ð´ÐµÑÑ. ÐлгоÑиÑм ÑÐ°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð·Ð°ÑиÑÑн Ð¾Ñ Ñбоев и Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÐµÑезапÑÑен, еÑли Ñазделение не бÑло ÑÑпеÑно завеÑÑено.