structon: خوندن یک فیلد بدون باز کردن کل رکورد
خلاصهٔ کاملتر
به گفتهی تیم Harper، وقتی یه دیتابیس شرطهای کوئری رو ارزیابی میکنه، خیلی وقتها مجبوره از تعداد زیادی رکورد فقط یک فیلد رو بخونه. برای یه کوئری تکشرطی روی فیلد ایندکسشده میشه مستقیم سراغ ایندکس رفت، ولی برای کوئری چندشرطی با AND فقط شرط اول از ایندکس درمیاد و بقیهی فیلدها باید روی هر رکورد کاندید چک بشن. سؤال اصلی اینه: چقدر ارزون میشه فقط یک فیلد از یه رکورد ذخیرهشده رو خوند؟
روش ساده اینه که کل رکورد رو به یه آبجکت جاوااسکریپت دیسریالایز کنی، یه پراپرتی رو بخونی و بعد آبجکتو دور بندازی. تو مقیاس کوچیک خوبه، ولی تو مقیاس بزرگ تبدیل به گلوگاه میشه، چون هر allocation و هر فیلدی که دیکد میشه ولی لازم نیست و هر فشار روی GC روی هم جمع میشه. راهحل، اِنکودینگ با دسترسی تصادفیه (random-access): رکورد تو یه فرمت باینری ذخیره میشه که هر فیلد رو میشه با پریدن مستقیم به آفست بایتیش خوند.
- دسترسی به خلاصهٔ کوتاه خبر
- دسترسی به خلاصهٔ کامل/اختصاصی خبر + نکات کلیدی
- ارسال اخبار مورد علاقه به ایمیل شما
- ارسال اخبار مورد علاقه به تلگرام شما
- عدم نمایش تبلیغات
- دسترسی به خلاصهٔ کوتاه خبر
- دسترسی به خلاصهٔ کامل/اختصاصی خبر + نکات کلیدی
- ارسال اخبار مورد علاقه به ایمیل شما
- ارسال اخبار مورد علاقه به تلگرام شما
- عدم نمایش تبلیغات




