په MySQL کې د مای ایس کیو ایل ډیټابیس شاخص ډول/جوړول/کارول د ALTER بیان کارول

ماید شاخص ډول/جوړول/کامبو بدل استعمالولماید قوماندې بیان کارول

د MySQL شاخصونه

د MySQL شاخص رامینځته کول د MySQL د مؤثره عملیاتو لپاره خورا مهم دی، او شاخص کولی شي د MySQL د بیرته ترلاسه کولو سرعت خورا ښه کړي.

د مثال په توګه، که چیرې په سمه توګه ډیزاین شوی او لیست شوی MySQL لامبورګیني وي، نو بیا MySQL پرته له شاخص شوي ډیزاین یو انساني ټرایسایکل دی.

شاخص په واحد کالم شاخص او جامع شاخص ویشل شوی.د واحد کالم شاخص، دا دی، یو شاخص یوازې یو واحد کالم لري، یو جدول کولی شي څو واحد کالم شاخصونه ولري، مګر دا یو جامع شاخص ندی.جامع شاخص، دا دی، یو شاخص څو کالمونه لري.

کله چې یو شاخص رامینځته کړئ ، تاسو اړتیا لرئ ډاډ ترلاسه کړئ چې شاخص یو شرط دی چې د SQL پوښتنې لپاره پلي کیږي (معمولا د WHERE بند شرط په توګه).

په حقیقت کې، شاخص هم یو جدول دی، جدول د لومړني کلیدي او شاخص ساحې خوندي کوي، او د ادارې میز ریکارډونو ته اشاره کوي.

پورته ټول د شاخصونو کارولو ګټو په اړه دي، مګر د شاخصونو ډیر کارول به د ناوړه ګټې اخیستنې لامل شي.له همدې امله، شاخص به خپلې نیمګړتیاوې هم ولري: که څه هم شاخص د پوښتنې سرعت خورا ښه کوي، دا به د جدول د تازه کولو سرعت کم کړي، لکه د جدول داخلول، تازه کول او حذف کول.ځکه چې کله د جدول تازه کول، MySQL نه یوازې ډاټا خوندي کوي، بلکې د شاخص فایل هم خوندي کوي.

د شاخص فایل لیست کول چې د ډیسک ځای مصرفوي.


نورمال شاخص

شاخص جوړ کړئ

دا ترټولو بنسټیز شاخص دی، دا هیڅ محدودیت نلري.دا په لاندې لارو کې رامینځته کیدی شي:

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

د CHAR او VARCHAR ډولونو لپاره، اوږدوالی کیدای شي د ساحې له اصلي اوږدوالي څخه کم وي؛ د BLOB او متن ډولونو لپاره، اوږدوالی باید مشخص شي.

د جدول جوړښت بدل کړئ (د شاخص اضافه کړئ)

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; 

ځانګړی شاخص

دا د پخوانۍ عادي شاخص سره ورته دی، توپیر یې دا دی: د شاخص کالم ارزښت باید ځانګړی وي، مګر ناپاک ارزښتونه اجازه لري.د جامع شاخص په حالت کې، د کالم ارزښتونو ترکیب باید ځانګړی وي.دا په لاندې لارو کې رامینځته کیدی شي:

شاخص جوړ کړئ

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 لومړنۍ کیلي اضافه کړئ (د کالم لیست): دا بیان یو ابتدايي کیلي اضافه کوي، پدې معنی چې د شاخص ارزښتونه باید ځانګړي وي او NULL نه وي.
  • جدول بدل کړئ tbl_name یو ځانګړی شاخص_نوم اضافه کړئ (کالم_لست): د دې بیان لخوا رامینځته شوي شاخص ارزښت باید ځانګړی وي (پرته له NULL، NULL ممکن څو ځله څرګند شي).
  • جدول بدل کړئ tbl_name د INDEX index_name اضافه کړئ (کالم_لست): یو نورمال شاخص اضافه کړئ ، د شاخص ارزښت څو ځله څرګند کیدی شي.
  • جدول بدل کړئ tbl_name د بشپړ متن لیست_نوم اضافه کړئ (کالم_لست):بیان د بشپړ متن لیست کولو لپاره شاخص د FULLTEXT په توګه مشخص کوي.

لاندې مثال په میز کې د شاخص اضافه کول دي.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

تاسو کولی شئ د شاخصونو پریښودو لپاره د ALTER کمانډ کې د DROP بند هم وکاروئ.د شاخص کمولو لپاره لاندې مثال هڅه وکړئ:

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;

تاسو اړتیا لرئ چې لومړنۍ کلیمه مشخص کړئ کله چې لومړنۍ کیلي غورځوئ، مګر کله چې یو شاخص پریږدئ، تاسو باید د شاخص نوم وپیژنئ.


د شاخص معلومات ښکاره کړئ

تاسو کولی شئ په جدول کې د اړونده شاخص معلوماتو لیست کولو لپاره د SHOW INDEX کمانډ وکاروئ.د محصول معلومات د \G په اضافه کولو سره فارمیټ کیدی شي.

لاندې مثالونه هڅه وکړئ:

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

امید چن وییلینګ بلاګ ( https://www.chenweiliang.com/ ) د "MySQL ډیټابیس شاخص ډول / جوړ کړئ / په MySQL کې د ALTER بیان ترکیب کارول" شریک کړل، کوم چې ستاسو لپاره ګټور دی.

د دې مقالې لینک شریکولو ته ښه راغلاست:https://www.chenweiliang.com/cwl-496.html

د وروستي تازه معلوماتو ترلاسه کولو لپاره د چن ویلیانګ بلاګ ټیلیګرام چینل ته ښه راغلاست!

🔔 د چینل غوره لارښود کې د ارزښتناکه "ChatGPT مینځپانګې بازار موندنې AI وسیلې کارولو لارښود" ترلاسه کولو لپاره لومړی اوسئ! 🌟
📚 دا لارښود لوی ارزښت لري، 🌟دا یو نادر فرصت دی، له لاسه مه ورکوئ! ⏰⌛💨
که مو خوښه شوه لایک او شریک کړئ!
ستاسو شریکول او خوښول زموږ دوامداره هڅونه ده!

 

评论 评论

ستاسو د بریښنالیک آدرس به نشر نشي اړین ساحې کارول کیږي * لیبل

پورته ته سکرول