နိဒါန်း
ဒေတာဘေ့စ်စုံစမ်းမှုများစစ်ဆင်ရေးလုပ်ဆောင်သောအခါ Indexing သည်အရေးပါသောအခန်းကဏ် plays မှပါ 0 င်သည်။ ကျိုးကြောင်းဆီလျော်သောအညွှန်းကိန်းအညွှန်းရှင်သန်မှုအားဖြင့်၎င်းသည်ရှာဖွေမှုမြန်နှုန်းကိုအရှိန်မြှင့်နိုင်ရုံသာမက disk io ၏ 0 န်ထုပ်ဝန်ပိုးကိုလည်းလျှော့ချနိုင်သည်။ ဤဆောင်းပါးသည်ဒေတာဘေ့စ်စွမ်းဆောင်ရည်ကိုတိုးတက်စေရန်နှင့် Disk I / O ကိုလျှော့ချရန်စဉ်းစားတွေးခေါ်မှုမှတစ်ဆင့်အညွှန်းကိန်းကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်ရန်မည်သို့အသေးစိတ်ဖော်ပြရန်အသေးစိတ်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
ဒေတာဘေ့စ်အညွှန်းကိန်းသည်အပိုဆောင်းဒေတာအဆောက်အအုံများဖန်တီးခြင်းဖြင့်ဒေတာရှာဖွေမှုစွမ်းဆောင်ရည်ကိုပိုမိုကောင်းမွန်စေသော Queries များကိုအရှိန်မြှင့်ရန်အသုံးပြုသောနည်းပညာဖြစ်သည်။ ပုံမှန်အားဖြင့်ဒေတာဘေ့စ်သည်အညွှန်းကိန်းများကိုအလိုအလျောက်အညွှန်းကိန်းများကိုအလိုအလျောက်ဖန်တီးပေးပြီး developer များကစွမ်းဆောင်ရည်ကိုပိုမိုကောင်းမွန်စေရန်အခြားဘုံစုံစမ်းမှုနယ်ပယ်များအတွက်အညွှန်းများကိုကိုယ်တိုင်ဖန်တီးနိုင်သည်။
စဉ်းစားတွေးခေါ်တွင်ကျွန်ုပ်တို့သည်စံပြလူတန်းစား၏လယ်ပြင်၌ @index
ထည့်နိုင်သည်
အထက်ပါဥပမာတွင်ကျွန်ုပ်တို့သည် နာမည် နယ်ပယ်သို့အညွှန်းတစ်ခုကိုထည့်သွင်းထားပြီးအမည်ရှိမေးမြန်းခြင်း၏ထိရောက်မှုကိုအရှိန်မြှင့်နိုင်သည်။
အချက်အလက်များကိုအသုံးပြုရန် index ကိုအသုံးပြုခြင်းအားဖြင့် Database မေးမြန်းချက်များတွင် Database မေးမြန်းချက်များတွင် disk io လုပ်ငန်းများကိုသိသိသာသာလျှော့ချနိုင်သည်။ ဤတွင်အချို့သောအကောင်းမြင်အကြံပြုချက်များရှိသည် -
အသုံးများသောမေးမြန်းမှုအကွက်များပေါ်တွင်အညွှန်းများကိုထည့်ပေါင်းခြင်းကစုံစမ်းမှုထိရောက်မှုကိုထိရောက်စွာတိုးတက်စေနိုင်သည်။ အညွှန်းကိန်းသည်အလျင်အမြန်အသုံး 0 င်သောလယ်ကွင်းများကိုသေချာအောင်လုပ်ပါ။
စားပွဲတင်စကင်ဖတ်စစ်ဆေးမှုသည် disk i / o ကိုစားသုံးသည်။ ထို့ကြောင့်၎င်းကိုရှောင်ရှားရန်ကြိုးစားသင့်သည်။ သင့်လျော်သောစုံစမ်းမှုအခြေအနေများ (ဥပမာ filter method များကဲ့သို့) နှင့်ပြန်လာသောအချက်အလက်အရေအတွက်ကိုကန့်သတ်ခြင်းများကို အသုံးပြု. ( ကန့်သတ်နည်း စနစ်များကဲ့သို့) ကိုကန့်သတ်ခြင်းများကိုသင်ကန့်သတ်ချက်အရေအတွက်ကိုလျှော့ချနိုင်သည်။
# ဥပမာ - သုံးစွဲသူသတင်းအချက်အလက်ကိုအမည်များ သုံး. user.fileter (user.name == 'use ==' John ') ။ အကန့်အသတ် (10) ။
အကွက်များစွာပါဝင်သောစုံစမ်းမှုစစ်ဆင်ရေးအတွက်ပူးတွဲညွှန်းကိန်းတစ်ခုအားပူးတွဲညွှန်းကိန်းကိုထိရောက်စွာဖန်တီးနိုင်ပြီး disk i / o ကြိမ်အရေအတွက်ကိုလျှော့ချနိုင်သည်။
The MetterMORM သွင်းကုန်မော်ဒယ်, stringfield, integerfield Class User (Model): __table__ = 'အသုံးပြုသူ' ID = Integerfield (They_Key = True) အမည် = string ဖလား () အသက် = integerfield () # ပူးတွဲ index__indexes__ = [ ('Name', 'အသက်') ]
မေးမြန်းသောအခါမလိုအပ်သောလယ်ကွင်းများကိုမပြန်ခြင်းကိုရှောင်ပါ။ လိုအပ်သောအချက်အလက်များကိုသာပြန်လာခြင်းသည်ကျွန်ုပ် / o 0 န်ထုပ်ဝန်ပိုးကိုလျော့နည်းစေသည်။ ပြန်လာသောလယ်ကွင်းကိုသတ်မှတ်ရန် တစ်ခုတည်းသော နည်းလမ်းကိုသုံးပါ။
# ဥပမာ - သုံးစွဲသူ၏အမည်နှင့်အသက်အရွယ်အသုံးပြုသူများ = user.only (user.name, user user.age) ကိုသာပြန်ပို့ပါ။ Limit (10) ။
စစ်ဆင်ရေး sorting sorting အထူးသဖြင့်ဒေတာ volume မြင့်မားသောအခါ, အကယ်. ဒေတာဘေ့စ်တွင် sorting operty ကိုဖြည့်စွက်နိုင်ပါက Sorting Logic ကိုဒေတာဘေ့စ်သို့ရွှေ့ရန်အကြံပြုသည်။
# ဥပမာ - သုံးစွဲသူသတင်းအချက်အလက်ကိုအသက်အရွယ်အသုံးပြုသူများကိုအစဉ်အလာတွင်မေးသောအသုံးပြုသူများ = user.filter () user.filter (user.age.filcer) ။ အားလုံး ()
ဆင်ခြင်သုံးသပ်သူများမှပေးသော indexing function များကို အသုံးပြု. ပြန်လည်နေရာချထားခြင်းနှင့်စဉ်းစားတွေးခေါ်မှုနည်းစနစ်များကိုရှာဖွေခြင်းအားဖြင့်၎င်းသည် disk i / o စစ်ဆင်ရေးကိုထိထိရောက်ရောက်လျှော့ချနိုင်ပြီးဒေတာဘေ့စ်စုံစမ်းမှုများကိုတိုးတက်စေသည်။ လက်တွေ့ကျသောအပလီကေးရှင်းများ၌ developer များသည်စနစ်၏စွမ်းဆောင်ရည်နှင့်စွမ်းဆောင်ရည်ကိုသေချာစေရန်သင့်လျော်သောအညွှန်းကိန်းအမျိုးအစားများနှင့်စုံစမ်းမှုပုံစံအမျိုးမျိုးကိုရွေးချယ်သင့်သည်။