Database Query သည်ဖွံ့ဖြိုးရေးကာလအတွင်းအလွန်အသုံးများသောလုပ်ငန်းတစ်ခုဖြစ်သည်။ မေးမြန်းခြင်းကိုအရှိန်မြှင့်တင်ရန်အတွက်ဒေတာဘေ့စ်အညွှန်းကိန်းသည်မရှိမဖြစ်လိုအပ်သော link တစ်ခုဖြစ်သည်။ ဒေတာဘေ့စ်အညွှန်းကိန်းများကိုပိုမိုကောင်းမွန်စေရန်နှင့်ဒေတာမေးမြန်းမှုစွမ်းဆောင်ရည်ကိုတိုးတက်စေရန် Thinkor Merework ကိုမည်သို့အသုံးပြုရမည်ကိုဤဆောင်းပါးကမိတ်ဆက်ပေးလိမ့်မည်။
ဒေတာဘေ့စ်အညွှန်းကိန်းသည်အချက်အလက်ရှာဖွေခြင်းကိုမြန်စေပြီးဒေတာများကိုရှာဖွေခြင်းကိုမြန်စေပြီးအချက်အလက်များကိုဇယားများတွင်လျင်မြန်စွာရှာဖွေနိုင်သည်။ သာမန်အညွှန်းကိန်းအမျိုးအစားများတွင်အဓိကသော့ချက်အညွှန်းကိန်း, ထူးခြားသောအညွှန်းကိန်းနှင့်ပုံမှန်ညွှန်းကိန်းများပါ 0 င်သည်။
မူလတန်းသော့အညွှန်းကိန်းကိုစားပွဲတစ်ခုတွင်မှတ်တမ်းများကိုထူးခြားစွာဖော်ထုတ်ရန်အသုံးပြုသည်။ စားပွဲတင်တစ်ခုစီသည်အဓိက key တစ်ခုတည်းသာရှိသည်။ Therform တွင်မူလတန်းသော့အညွှန်းကိန်းကိုမော်ဒယ်ဂုဏ်သတ္တိများတွင်သတ်မှတ်နိုင်သည်။ ဥပမာကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
from thinkmodel import Model
class User(Model):
uid = Field(primary_key=True) # မူလတန်းသော့အညွှန်းကိန်းကိုဖန်တီးပါ
name = Field()
age = Field()
ထူးခြားသည့်ညွှန်းကိန်းများသည်ကွင်းဆင်းတန်ဖိုးများကိုထူးခြားစေသည်။ Model Properties တွင်ထူးခြားသောညွှန်းကိန်းများကိုအဓိပ္ပါယ်ဖွင့်ဆိုချက်ကိုလည်းစဉ်းစားသည်။
from thinkmodel import Model
class User(Model):
uid = Field(unique=True) # ထူးခြားသောအညွှန်းတစ်ခုဖန်တီးပါ
name = Field()
age = Field()
ပုံမှန်ညွှန်းကိန်းများသည်အသုံးအများဆုံးအညွှန်းကိန်းအမျိုးအစားများဖြစ်ပြီးဒေတာမေးမြန်းမှုကိုအရှိန်မြှင့်ရန်အသုံးပြုသည်။ အတွေးအခေါ်နှင့်အဓိပ္ပါယ်ဖွင့်ဆိုချက်မှတဆင့်ပုံမှန်ညွှန်းကိန်းများကိုလည်းစဉ်းစားနိုင်သည်။
from thinkmodel import Model
class User(Model):
uid = Field(index=True) # ပုံမှန်ညွှန်းကိန်းတစ်ခုဖန်တီးပါ
name = Field()
age = Field()
စဉ်းစားတွေးခေါ်သည့်အချက်အလက်များကိုဖြည့်ဆည်းပေးနိုင်သည့် Batch_insert Method သည် Database IO စစ်ဆင်ရေးကိုလျှော့ချပြီးသွင်းကုန်စွမ်းဆောင်ရည်ကိုတိုးတက်အောင်ပြုလုပ်နိုင်သည်။
users = [
{'name': 'Zhang San', 'age': 18},
{'name': 'li si', 'age': 20}
]
User.batch_insert(users)
Custification Query မှတစ်ဆင့်အညွှန်းများကိုထိရောက်စွာအသုံးချနိုင်ပြီးစားပွဲအပြည့်ကိုစကင်ဖတ်စစ်ဆေးရန်နှင့်စုံစမ်းမှုစွမ်းအားတိုးတက်မှုကိုတိုးတက်အောင်ပြုလုပ်ခြင်း -
users = User.where(User.name == 'Zhang San').where(User.age > 18).select()
Index overwrite query သည်အညွှန်းကိန်းမှအချက်အလက်များကိုလုံးဝထောက်ပံ့ပေးသော qualtwrite query ကိုရည်ညွှန်းသည်။
names = User.where(User.age > 18).column(User.name)
Batch Insces နှင့် Index question querge querge question question query and question quertion question query and question question question query ား question query and question query query question query ား query ား query ား query and question performance လုပ်ခြင်းကဲ့သို့သောအကောင်းဆုံးညွှန်းကိန်းများနှင့်သာမန်ညွှန်းကိန်းများကိုကျိုးကြောင်းဆီလျော်စွာဖန်တီးသည်။