با یک نگاه سطحی، می بینید که توی حالت اول قرار دادن دوچرخه ها (Insert) خیلی راحته. هر جایی شد دوچرخه میندازی و ...
اما توی حالت دوم، بایستس دوچرخه رو براسا نظم ونظام خاصی قرار بدیم.
اما زمان برداشت دوچرخه (Read) خوب مشخصا، توی حالت دوم (Clustered ) خیلی راحت تر میتونیم دو چرخه رو پیدا کنیم و ...
این یک توضیح اولیه.
اما اگر بخوایم تفائت ها رو حرفه ای تر بررسی کنیم، یک موردش Forwarding Pointer هست که توسط دوستمون Hamid اشاره شد.
زمانی که توی جدول هیپ شما رکوردی رو به روز می کنین و به واسطه افزایش حجم، جای اون رکورد دیگه توی صفحه مربوطه نباشه، SQL اون رکورد رو به صفحه ای جدید منتقل و یک Pointer از صفحه قدیمی به صفحه جدید حاوی رکورد ایجاد می کنه ( چون توی Heap بین صفحات لینک وجود نداره) . حالا مشکل کجا پیش میاد؟؟؟
زمانی که شما میخواین رکوردها رو بخونین، وقتی میرسه به صفحه دارای Pointer مجبوره بره یه صفحه جددی که رکورد مربوطه در اون هست، اون رکورد رو بخونه و مجدد برگرده به صفحه ای که در اون بوده و در ادامه مجددا صفحه ای که قبلا خونده شده رو بازخوانی میکنه.
این مورد رو در شکل زیر بهتر متجوه خواهید شد:
Post #438
727