MySQL ڊيٽابيس انڊيڪس قسم/ٺاهيو/استعمال ميلاپ ALTER بيان استعمال MySQL ۾

هن MySQLانڊيڪس جو قسم/ ٺاھڻ/ استعمال ڪريو ڪامبو الٽر ۾هن MySQLحڪم بيان جو استعمال

MySQL انڊيڪس

MySQL انڊيڪس جو قيام MySQL جي موثر آپريشن لاءِ تمام ضروري آهي، ۽ انڊيڪس MySQL جي ٻيهر حاصل ڪرڻ جي رفتار کي تمام گهڻو بهتر ڪري سگهي ٿو.

مثال طور، جيڪڏهن MySQL مناسب ڊيزائن ۽ انڊيڪس جي استعمال سان هڪ Lamborghini آهي، ته پوءِ MySQL بغير انڊيڪس ۽ انڊيڪس جي هڪ انساني ٽرائيڪل آهي.

انڊيڪس سنگل ڪالمن انڊيڪس ۽ جامع انڊيڪس ۾ ورهايل آهي.سنگل ڪالمن انڊيڪس، يعني هڪ انڊيڪس صرف هڪ ڪالم تي مشتمل هوندو آهي، هڪ ٽيبل ۾ هڪ کان وڌيڪ سنگل ڪالمن انڊيڪس هوندا آهن، پر هي هڪ جامع انڊيڪس نه هوندو آهي.جامع انڊيڪس، يعني هڪ انڊيڪس ڪيترن ئي ڪالمن تي مشتمل آهي.

جڏهن هڪ انڊيڪس ٺاهي، توهان کي پڪ ڪرڻ جي ضرورت آهي ته انڊيڪس هڪ شرط آهي جيڪا SQL سوال تي لاڳو ٿئي ٿي (عام طور تي WHERE شق جي شرط جي طور تي).

حقيقت ۾، انڊيڪس پڻ هڪ جدول آهي، ٽيبل کي محفوظ ڪري ٿو پرائمري ڪيئي ۽ انڊيڪس فيلڊز، ۽ انگن اکرن جي رڪارڊ ڏانهن اشارو.

مٿيان انڊيڪس استعمال ڪرڻ جي فائدن جي باري ۾ ڳالهائي رهيا آهيون، پر انڊيڪس جو گهڻو استعمال غلط استعمال جو سبب بڻجندو.تنهن ڪري، انڊيڪس ۾ به ان جون خاميون هونديون: جيتوڻيڪ انڊيڪس سوال جي رفتار کي تمام گهڻو بهتر بڻائي ٿو، پر اهو ٽيبل کي اپڊيٽ ڪرڻ جي رفتار کي گهٽائي ڇڏيندو، جيئن ٽيبل جي 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 شامل ڪريو پرائمري ڪي (column_list): هي بيان هڪ پرائمري ڪيچ شامل ڪري ٿو، جنهن جو مطلب آهي ته انڊيڪس قدر منفرد هجڻ گهرجي ۽ NULL نه ٿي سگهي.
  • ALTER TABLE tbl_name ADD UNIQUE index_name (column_list): انڊيڪس جو قدر هن بيان سان ٺهيل منفرد هجڻ گهرجي (سواء NULL، NULL ڪيترائي ڀيرا ظاهر ٿي سگھي ٿو).
  • تبديل ڪريو ٽيبل tbl_name ADD INDEX index_name (column_list): عام انڊيڪس شامل ڪريو، انڊيڪس جي قيمت ڪيترائي ڀيرا ظاهر ٿي سگھي ٿي.
  • ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list):بيان مڪمل ٽيڪسٽ انڊيڪسنگ لاءِ انڊيڪس کي FULLTEXT طور بيان ڪري ٿو.

ھيٺ ڏنل مثال آھي ھڪڙي جدول کي شامل ڪرڻ لاءِ.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

توھان پڻ استعمال ڪري سگھو ٿا DROP شق ALTER ڪمانڊ تي انڊيڪس ڇڏڻ لاءِ.انڊيڪس ڇڏڻ لاءِ ھيٺ ڏنل مثال جي ڪوشش ڪريو:

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
........

اميد چن ويلانگ بلاگ ( https://www.chenweiliang.com/ "MySQL Database Index Type/Create/Use Combination ALTER Statement Usage in MySQL" شيئر ڪيو، جيڪو توھان لاءِ مددگار آھي.

هن آرٽيڪل جي لنڪ کي حصيداري ڪرڻ لاء ڀليڪار:https://www.chenweiliang.com/cwl-496.html

تازن تازه ڪاريون حاصل ڪرڻ لاءِ Chen Weiliang جي بلاگ جي ٽيليگرام چينل تي ڀليڪار!

🔔 چينل جي ٽاپ ڊاريڪٽري ۾ قيمتي "ChatGPT مواد مارڪيٽنگ AI اوزار استعمال ڪرڻ جي گائيڊ" حاصل ڪرڻ وارا پھريون بڻجي وڃو! 🌟
📚 هي گائيڊ وڏي قيمت تي مشتمل آهي، 🌟 هي هڪ نادر موقعو آهي، ان کي نه وڃايو! ⏰⌛💨
پسند اچي ته شيئر ڪريو ۽ پسند ڪريو!
توهان جي حصيداري ۽ پسند اسان جي مسلسل حوصلا آهن!

 

发表 评论

توهان جو اي ميل پتو شايع نه ڪيو ويندو. 必填 项 已 用 * ليبل

مٿي ڏانهن ڇڪيو