SQLite 3.35 ထုတ်ဝေမှု

plug-in စာကြည့်တိုက်အဖြစ် ဒီဇိုင်းထုတ်ထားသည့် ပေါ့ပါးသော DBMS SQLite 3.35 ကို ထုတ်ဝေလိုက်ပါပြီ။ SQLite ကုဒ်ကို အများသူငှာ ဒိုမိန်းတွင် ဖြန့်ဝေထားသည်။ ကန့်သတ်ချက်မရှိဘဲ မည်သည့်ရည်ရွယ်ချက်အတွက်မဆို အခမဲ့အသုံးပြုနိုင်ပါသည်။ Adobe၊ Oracle၊ Mozilla၊ Bentley နှင့် Bloomberg ကဲ့သို့သော ကုမ္ပဏီများ ပါဝင်သော အထူးဖန်တီးထားသော လုပ်ငန်းစုမှ SQLite developer များအတွက် ဘဏ္ဍာရေးဆိုင်ရာ ပံ့ပိုးမှုပေးပါသည်။

အဓိကပြောင်းလဲမှုများ-

  • SQL တွင်အသုံးပြုနိုင်သည့် built-in သင်္ချာလုပ်ဆောင်ချက်များ (log2(), cos(), tg(), exp(), ln(), pow(), etc.) Built-in လုပ်ဆောင်ချက်များကို ဖွင့်ရန် "-DSQLITE_ENABLE_MATH_FUNCTIONS" ရွေးချယ်မှုဖြင့် တည်ဆောက်ရန် လိုအပ်ပါသည်။
  • ဇယားတစ်ခုမှ ကော်လံများကို ဖယ်ရှားရန်နှင့် ပေးထားသော ကော်လံတွင် ယခင်က သိမ်းဆည်းထားသည့် ဒေတာရှင်းလင်းရန် "ALTER TABLE DROP COLUMN" စကားရပ်အတွက် ပံ့ပိုးမှုကို အကောင်အထည်ဖော်ခဲ့သည်။
  • UPSERT (add-or-modify) လုပ်ဆောင်ချက်ကို ချဲ့ထွင်ထားပြီး၊ အမှားအယွင်းတစ်ခုကို လျစ်လျူရှုရန် သို့မဟုတ် ထည့်သွင်းရန် မဖြစ်နိုင်ပါက ထည့်သွင်းမည့်အစား အပ်ဒိတ်ကို ထည့်သွင်းခြင်းအစား “INSERT... ON CONFLICT ON ON DO NOTHING/UPDATE” ကဲ့သို့သော အသုံးအနှုန်းများဖြင့် ခွင့်ပြုထားပါသည်။ “INSERT” မှတဆင့်ဒေတာ (ဥပမာ၊ မှတ်တမ်းတစ်ခုရှိနှင့်ပြီးပါက၊ သင်သည် INSERT အစား UPDATE လုပ်နိုင်သည်။) ဗားရှင်းအသစ်သည် သင့်အား အစီအစဥ်လုပ်ဆောင်မည့် ပဋိပက္ခတွင် ပိတ်ဆို့ခြင်းများစွာကို သတ်မှတ်ခွင့်ပြုသည်။ နောက်ဆုံး "ပဋိပက္ခဖြစ်ဆဲ" ဘလောက်သည် "မွမ်းမံပြင်ဆင်ရန်" ကိုအသုံးပြုရန်အတွက် ပဋိပက္ခဆုံးဖြတ်ခြင်းဘောင်ကို ချန်လှပ်ထားနိုင်စေပါသည်။
  • ဖျက်ပစ်ခြင်း၊ ထည့်သွင်းခြင်း နှင့် အပ်ဒိတ်လုပ်ခြင်း လုပ်ဆောင်ချက်များသည် ဖျက်လိုက်၊ ထည့်သွင်းထားသော သို့မဟုတ် ပြုပြင်ထားသော မှတ်တမ်း၏ အကြောင်းအရာများကို ပြသရန် အသုံးပြုနိုင်သည့် ပြန်လာခြင်း စကားရပ်ကို ပံ့ပိုးပေးပါသည်။ ဥပမာအားဖြင့်၊ "insert into ... returning id" ဆိုသည့် စကားရပ်သည် ထပ်ထည့်ထားသော စာကြောင်း၏ identifier ကို ပြန်ပေးမည်ဖြစ်ပြီး "update... set price = price * 1.10 returning price" သည် ပြောင်းလဲထားသော ဈေးနှုန်းတန်ဖိုးကို ပြန်ပေးပါမည်။
  • Common Table Expressions (CTE) အတွက် WITH ကြေငြာချက်ကို အသုံးပြု၍ ယာယီအမည်ပေးထားသော ရလဒ်အစုံများကို အသုံးပြုခွင့်ပြုသည့် "MATERIALIZED" နှင့် "NOTMATERIALIZED" မုဒ်များကို ရွေးချယ်ခွင့်ကို ခွင့်ပြုထားသည်။ “MATERIALIZED” ဆိုသည်မှာ သီးခြားရုပ်ပိုင်းဆိုင်ရာဇယားတစ်ခုရှိ မြင်ကွင်းတွင် သတ်မှတ်ထားသည့် query ကို သိမ်းဆည်းပြီးနောက် ဤဇယားမှ ဒေတာများကို ရယူခြင်းဖြစ်ပြီး မြင်ကွင်းကို ဝင်ရောက်ကြည့်ရှုသည့်အချိန်တိုင်းတွင် ထပ်ခါတလဲလဲ မေးမြန်းချက်များအား “MATERIALIZED” ဖြင့် လုပ်ဆောင်မည်ဖြစ်သည်။ SQLite သည် မူလက "NOT MATERIALIZED" သို့ ပုံသေသတ်မှတ်ထားသော်လည်း ယခုအခါ CTE များအတွက် "MATERIALIZED" သို့ ပြောင်းလဲသွားပါပြီ။
  • အလွန်ကြီးမားသော TEXT သို့မဟုတ် BLOB တန်ဖိုးများပါရှိသော ဒေတာဘေ့စ်များတွင် VACUUM လုပ်ဆောင်ချက်ကို လုပ်ဆောင်သည့်အခါ မမ်မိုရီသုံးစွဲမှုကို လျှော့ချပါ။
  • optimizer နှင့် query planner ၏ စွမ်းဆောင်ရည်ကို မြှင့်တင်ရန် အလုပ်ပြီးပါပြီ-
    • min နှင့် max လုပ်ဆောင်ချက်များကို "IN" ဆိုသည့် စကားရပ်ဖြင့် အသုံးပြုသောအခါ ပိုမိုကောင်းမွန်အောင်လုပ်ဆောင်မှုများ ထပ်ထည့်ထားသည်။
    • EXISTS ထုတ်ပြန်ချက်ကို အကောင်အထည်ဖော်မှုကို အရှိန်မြှင့်လိုက်ပါပြီ။
    • JOIN ၏တစ်စိတ်တစ်ပိုင်းအဖြစ်အသုံးပြုသည့် UNION ALL မှအသုံးအနှုန်းခွဲများတိုးချဲ့ခြင်းကိုအကောင်အထည်ဖော်ခဲ့သည်။
    • အညွှန်းကို IS NOT NULL ဖော်ပြချက်များအတွက် အသုံးပြုသည်။
    • "x သည် NULL" နှင့် "x IS NOT NULL" တို့ကို "NOT NULL" ရည်ညွှန်းချက်ပါသော ကော်လံများအတွက် FALSE သို့မဟုတ် TRUE အဖြစ်သို့ ပြောင်းလဲထားကြောင်း သေချာပါစေ။
    • လုပ်ဆောင်ချက်သည် နိုင်ငံခြားသော့နှင့်ဆက်စပ်သော ကော်လံများကို မပြောင်းလဲပါက UPDATE တွင် နိုင်ငံခြားကီးများကို စစ်ဆေးခြင်းကို ကျော်ပါ။
    • Window Function များပါရှိသော WHERE ပိတ်ဆို့ခြင်း၏ အစိတ်အပိုင်းများကို ၎င်းအစိတ်အပိုင်းများအား ကိန်းသေများနှင့် လုပ်ဆောင်ရန် ကန့်သတ်ထားသရွေ့ Window လုပ်ဆောင်ချက်များတွင် အသုံးပြုသည့် PARTITION BY ဘလောက်များမှ စကားရပ်များ၏ မိတ္တူများကို ရွှေ့ရန် ခွင့်ပြုထားသည်။
  • command line interface တွင်ပြောင်းလဲမှုများ-
    • ".fillectrl data_version" အမိန့်ကို ထည့်သွင်းခဲ့သည်။
    • ".once" နှင့် ".output" ညွှန်ကြားချက်များသည် ယခုအခါ ("|") ဟုခေါ်သော ပိုက်များကို အသုံးပြု၍ ခေါ်သော ကိုင်တွယ်သူထံ ပေးပို့ခြင်းအား ပံ့ပိုးပေးပါသည်။
    • အသုံးအနှုန်းများနှင့် virtual machine ကောင်တာများဆိုင်ရာ ကိန်းဂဏန်းအချက်အလက်များကိုပြသရန် "stmt" နှင့် "vmstep" အကြောင်းပြချက်များကို ".stats" အမိန့်သို့ ပေါင်းထည့်ထားသည်။

source: opennet.ru

မှတ်ချက် Add