Tuesday, October 1, 2013

sequence Vs Max+1

sequence Vs Max+1

Max+1 ေရးတဲ႔သူေတြ အရင္တုန္းက ေတာ္ေတာ္မ်ားမွန္းသတိထားမိတယ္။  unique key တစ္ခုကို ရဖုိ႕ ရိွျပီးသား ေဒတာေတြအားလံုးကိုျပန္ဖတ္ျပီး ၁ေပါင္းရတာ ေရးတဲ႔သူအတြက္လြယ္ေပမယ္႔ ေဒတာေဘ႔စ္အတြက္ေရရွည္မွာ မလြယ္ဘူး။ အဲဒီလိုေရးတာပ်င္းတဲ႔သူေတြထင္တယ္။ table ၾကီးေတြ ဝဝဖုိင္႔ဖုိင္႔ျဖစ္လာတဲ႔အခါ Max+1 က ဒုကၡေပးတတ္ပါတယ္။ sequence table လုပ္ျပီး .nextValue နဲ႕သြားပါ။ အင္မတန္ျမန္ပါလိမ္႔မယ္။

sequence  တစ္ခုနမူနာျပရရင္ ေဟာသလိုေရးပါတယ္။

CREATE SEQUENCE auto_icrrm_attendance_seq
  MINVALUE 1
  MAXVALUE 999999999999999999999999999
  START WITH 2013000079
  INCREMENT BY 1
  CACHE 20;
 
အဲဒီလို create လုပ္ျပီးရင္ ဒီလို သံုးရံုပါပဲ။

  select auto_icrrm_attendance_seq.nextval from dual

Cache 20 ေပးထားတာကေတာ႔ memory မွာ အခု ၂၀ တစ္ခါတည္းသိမ္းထားလုိ႕ရေအာင္ oracle ကိုသတိေပးတာပါ။ အဲဒါက နည္းနည္းပိုျမန္ေစပါတယ္။ ကိုယ္လိုခ်င္တာက unique ျဖစ္ရံုပဲလား။ sequence ျဖစ္ဖုိ႕လုိသလားဆိုတာေပၚမူတည္ျပီး နည္းနည္းေလာက္ေတာ႔ စဥ္းစားျပီးသံုးၾကပါ။

Regards,
Zero
 

No comments: