MySQL ဒေတာဘေ့စ် အညွှန်းကိန်း အမျိုးအစား/ဖန်တီး/အသုံးပြုမှု ပေါင်းစပ်မှု MySQL ရှိ ALTER ထုတ်ပြန်ချက် အသုံးပြုမှု

က MySQLအညွှန်းအမျိုးအစား/create/use combo တွင် ပြောင်းလဲပါ။က MySQLအမိန့်ထုတ်ပြန်ချက်အသုံးပြုမှု

MySQL အညွှန်းကိန်းများ

MySQL အညွှန်းကိန်းတည်ထောင်ခြင်းသည် MySQL ၏ထိရောက်သောလည်ပတ်မှုအတွက်အလွန်အရေးကြီးပြီး အညွှန်းကိန်းသည် MySQL ၏ပြန်လည်ရယူခြင်းအမြန်နှုန်းကို များစွာတိုးတက်စေနိုင်သည်။

ဥပမာအားဖြင့်၊ MySQL သည် ကျိုးကြောင်းဆီလျော်သော ဒီဇိုင်းနှင့် အညွှန်းများကို အသုံးပြုသည့် Lamborghini ဖြစ်ပါက၊ အညွှန်းများနှင့် အညွှန်းများမပါသော MySQL သည် လူသားသုံးဘီးဆိုင်ကယ်ဖြစ်သည်။

အညွှန်းကို single-column index နှင့် composite index ဟူ၍ ခွဲခြားထားသည်။Single-column အညွှန်း၊ ဆိုလိုသည်မှာ အညွှန်းတစ်ခုတွင် ကော်လံတစ်ခုသာပါရှိသည်၊ ဇယားတစ်ခုတွင် ကော်လံတစ်ခုအတွက် အညွှန်းများစွာရှိနိုင်သည်၊ သို့သော် ၎င်းသည် ပေါင်းစပ်အညွှန်းမဟုတ်ပါ။ပေါင်းစပ်အညွှန်း၊ ဆိုလိုသည်မှာ အညွှန်းတစ်ခုတွင် ကော်လံများစွာပါရှိသည်။

အညွှန်းတစ်ခုဖန်တီးသောအခါ၊ အညွှန်းသည် SQL query တွင်အသုံးပြုသည့်အခြေအနေတစ်ခုဖြစ်သည် (ယေဘုယျအားဖြင့် WHERE clause ၏အခြေအနေတစ်ခု) ကိုသေချာအောင်လုပ်ရန်လိုသည်။

အမှန်မှာ၊ အညွှန်းသည် ဇယားတစ်ခုလည်းဖြစ်ပြီး ဇယားသည် အဓိကသော့နှင့် အညွှန်းအကွက်များကို သိမ်းဆည်းကာ entity table ၏ မှတ်တမ်းများကို ညွှန်ပြသည်။

အထက်ပါအချက်များသည် အညွှန်းကိန်းများကို အသုံးပြုခြင်း၏ အကျိုးကျေးဇူးများနှင့် ပတ်သက်သော်လည်း အညွှန်းကိန်းများကို အလွန်အကျွံအသုံးပြုခြင်းသည် အလွဲသုံးစားပြုမှုဆီသို့ ဦးတည်သွားစေမည်ဖြစ်သည်။ထို့ကြောင့်၊ အညွှန်းသည် ၎င်း၏ ချို့ယွင်းချက်များလည်း ရှိလိမ့်မည်- အညွှန်းကိန်းသည် စုံစမ်းမှုအမြန်နှုန်းကို များစွာတိုးတက်စေသော်လည်း၊ ၎င်းသည် ဇယားပေါ်ရှိ INSERT၊ UPDATE နှင့် DELETE ကဲ့သို့သော ဇယားကို မွမ်းမံသည့်အမြန်နှုန်းကို လျှော့ချပေးမည်ဖြစ်သည်။ဇယားကို မွမ်းမံသည့်အခါ MySQL သည် ဒေတာကို သိမ်းဆည်းရုံသာမက အညွှန်းဖိုင်ကိုလည်း သိမ်းဆည်းပေးသောကြောင့် ဖြစ်သည်။

ဒစ်ခ်နေရာကို စားသုံးသော အညွှန်းဖိုင်တစ်ခုကို အညွှန်းရေးခြင်း။


ပုံမှန်အညွှန်း

အညွှန်းကိုဖန်တီးပါ။

၎င်းသည် အခြေခံအကျဆုံး အညွှန်းကိန်းဖြစ်ပြီး ကန့်သတ်ချက်မရှိပါ။၎င်းကို အောက်ပါနည်းလမ်းများဖြင့် ဖန်တီးနိုင်ပါသည်။

CREATE INDEX indexName ON mytable(username(length)); 

CHAR နှင့် VARCHAR အမျိုးအစားများအတွက်၊ အလျားသည် အကွက်၏ တကယ့်အရှည်ထက်နည်းနိုင်သည်၊ BLOB နှင့် TEXT အမျိုးအစားများအတွက်၊ အရှည်ကို သတ်မှတ်ရပါမည်။

ဇယားဖွဲ့စည်းပုံအား ပြင်ဆင်ပါ (အညွှန်းထည့်ရန်)

ALTER table tableName ADD INDEX indexName(columnName)

ဇယားကိုဖန်တီးသောအခါ တိုက်ရိုက်သတ်မှတ်ပါ။

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
INDEX [indexName] (username(length))  
 
);  

အညွှန်းတစ်ခုချရန် အထားအသို

DROP INDEX [indexName] ON mytable; 

ထူးခြားသောအညွှန်း

၎င်းသည် ယခင်သာမန်အညွှန်းကိန်းများနှင့် ဆင်တူသည်၊ ခြားနားချက်မှာ- အညွှန်းကော်လံတန်ဖိုးသည် တစ်မူထူးခြားနေရမည်ဖြစ်သော်လည်း null တန်ဖိုးများကို ခွင့်ပြုထားသည်။ပေါင်းစပ်အညွှန်းကိန်းတစ်ခုတွင်၊ ကော်လံတန်ဖိုးများ ပေါင်းစပ်မှုသည် ထူးခြားနေရပါမည်။၎င်းကို အောက်ပါနည်းလမ်းများဖြင့် ဖန်တီးနိုင်ပါသည်။

အညွှန်းကိုဖန်တီးပါ။

CREATE UNIQUE INDEX indexName ON mytable(username(length)) 

ဇယားဖွဲ့စည်းပုံကိုပြုပြင်ပါ။

ALTER table mytable ADD UNIQUE [indexName] (username(length))

ဇယားကိုဖန်တီးသောအခါ တိုက်ရိုက်သတ်မှတ်ပါ။

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
UNIQUE [indexName] (username(length))  
 
);  

ALTER အမိန့်ကို အသုံးပြု၍ အညွှန်းများကို ပေါင်းထည့်ကာ ဖယ်ရှားပါ။

ဒေတာဇယားတစ်ခုသို့ အညွှန်းတစ်ခုထည့်ရန် နည်းလမ်းလေးခုရှိသည်။

  • ပြောင်းလဲမှုဇယား tbl_name ADD PRIMARY KEY (column_list): ဤထုတ်ပြန်ချက်သည် အဓိကသော့ချက်တစ်ခုကို ပေါင်းထည့်သည်၊ ဆိုလိုသည်မှာ အညွှန်းတန်ဖိုးများသည် တစ်မူထူးခြားပြီး NULL မဖြစ်ရပါ။
  • ပြောင်းလဲမှုဇယား tbl_name ADD UNIQUE index_name (column_list): ဤထုတ်ပြန်ချက်မှ ဖန်တီးထားသော အညွှန်းတန်ဖိုးသည် တစ်မူထူးခြားနေရမည် (NULL မှလွဲ၍ NULL အကြိမ်ပေါင်းများစွာ ပေါ်လာနိုင်သည်)။
  • ပြောင်းလဲမှုဇယား tbl_name ADD INDEX index_name (column_list): ပုံမှန်အညွှန်းတစ်ခုထည့်ပါ၊ အညွှန်းတန်ဖိုးသည် အကြိမ်များစွာ ပေါ်လာနိုင်သည်။
  • ပြောင်းလဲမှုဇယား tbl_name အပြည့်အစုံထည့်ရန် index_name (ကော်လံ_စာရင်း)ထုတ်ပြန်ချက်တွင် စာသားအပြည့်အစုံ အညွှန်းကိန်းအတွက် အညွှန်းကို FULLTEXT အဖြစ် သတ်မှတ်သည်။

အောက်ပါဥပမာသည် ဇယားတစ်ခုသို့ အညွှန်းတစ်ခုထည့်ရန်ဖြစ်သည်။

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

အညွှန်းများကိုချရန် ALTER command ပေါ်ရှိ DROP clause ကိုလည်း သုံးနိုင်သည်။အညွှန်းကိုချရန် အောက်ပါဥပမာကို စမ်းကြည့်ပါ။

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

ALTER အမိန့်ကို အသုံးပြု၍ အဓိကသော့များကို ပေါင်းထည့်ကာ ဖယ်ရှားပါ။

ပင်မသော့သည် ကော်လံတစ်ခုတွင်သာ လုပ်ဆောင်နိုင်သည်။ ပင်မသော့အညွှန်းကို ပေါင်းထည့်သောအခါ၊ မူလကီးသည် ပုံသေအားဖြင့် NULL မဟုတ်ကြောင်း သေချာရန် လိုအပ်သည် (NOT NULL)။ဥပမာများမှာ အောက်ပါအတိုင်းဖြစ်သည်-

mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL;
mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);

ALTER အမိန့်ဖြင့် အဓိကကီးတစ်ခုကိုလည်း ဖျက်နိုင်သည်-

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

ပင်မသော့ကို ချသောအခါတွင် သင်သည် PRIMARY KEY ကိုသာ သတ်မှတ်ရန် လိုအပ်သော်လည်း အညွှန်းတစ်ခုကို ချလိုက်သောအခါ၊ အညွှန်းအမည်ကို သိရပါမည်။


အညွှန်းအချက်အလက်ကိုပြသပါ။

ဇယားရှိ သက်ဆိုင်ရာ အညွှန်းအချက်အလက်ကို စာရင်းပြုစုရန် SHOW INDEX အမိန့်ကို သင်အသုံးပြုနိုင်သည်။အထွက်အချက်အလက်ကို \G ပေါင်းထည့်ခြင်းဖြင့် ဖော်မတ်လုပ်နိုင်ပါသည်။

အောက်ပါ ဥပမာများကို စမ်းကြည့်ပါ။

mysql> SHOW INDEX FROM table_name; \G
........

မျှော်လင့်ခြင်း Chen Weiliang ဘလော့ဂ် ( https://www.chenweiliang.com/ ) သင့်အတွက် အထောက်အကူဖြစ်စေသော "MySQL Database Index Type/Create/Use Combination ALTER Statement Usage in MySQL" ကို မျှဝေထားသည်။

ဤဆောင်းပါး၏ link ကိုမျှဝေရန်ကြိုဆိုပါတယ်:https://www.chenweiliang.com/cwl-496.html

နောက်ဆုံးထွက်မွမ်းမံမှုများကို ရယူရန် Chen Weiliang ၏ တယ်လီဂရမ်ချန်နယ်မှ ကြိုဆိုပါသည်။

🔔 ချန်နယ်ထိပ်တန်းလမ်းညွှန်တွင် တန်ဖိုးရှိသော "ChatGPT အကြောင်းအရာစျေးကွက်ရှာဖွေရေး AI ကိရိယာအသုံးပြုမှုလမ်းညွှန်" ကို ပထမဆုံးရရှိသူဖြစ်လိုက်ပါ။ 🌟
📚 ဤလမ်းညွှန်တွင် တန်ဖိုးကြီးကြီးမားမားပါရှိသည်၊ 🌟ဒါက ရှားပါးအခွင့်အရေးပါ၊ လက်လွတ်မခံပါနဲ့။ ⏰⌛💨
ကြိုက်ရင် Share ပြီး Like လုပ်ပါ။
သင်၏မျှဝေခြင်းနှင့် လိုက်ခ်များသည် ကျွန်ုပ်တို့၏ စဉ်ဆက်မပြတ်လှုံ့ဆော်မှုဖြစ်သည်။

 

မှတ်ချက်များ

သင့်ရဲ့အီးမေးလ်လိပ်စာကိုထုတ်ဝေမည်မဟုတ် 用项已用用 * တံဆိပ်

အပေါ်မှလှိမ့်