نوع فهرست پایگاه داده MySQL/ایجاد/استفاده از ترکیب استفاده از عبارت ALTER در MySQL

خروجینوع شاخص/ایجاد/استفاده از ترکیب ترکیبی تغییر درخروجیاستفاده از دستور دستور

نمایه های MySQL

ایجاد نمایه MySQL برای عملکرد کارآمد MySQL بسیار مهم است و این شاخص می تواند سرعت بازیابی MySQL را تا حد زیادی بهبود بخشد.

به عنوان مثال، اگر MySQL با طراحی معقول و استفاده از شاخص ها یک لامبورگینی باشد، پس 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; 

شاخص منحصر به فرد

این شبیه به شاخص معمولی قبلی است، تفاوت این است: مقدار ستون شاخص باید منحصر به فرد باشد، اما مقادیر تهی مجاز هستند.در مورد یک شاخص ترکیبی، ترکیب مقادیر ستون باید منحصر به فرد باشد.می توان آن را به روش های زیر ایجاد کرد:

ایجاد نمایه

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 فهرست ها را اضافه و حذف کنید

چهار راه برای اضافه کردن یک شاخص به جدول داده وجود دارد:

  • TABLE تغییر دهید tbl_name افزودن کلید اصلی (column_list): این عبارت یک کلید اصلی اضافه می کند، به این معنی که مقادیر شاخص باید منحصر به فرد باشند و نمی توانند NULL باشند.
  • ALTER TABLE tbl_name افزودن فهرست_نام منحصر به فرد (column_list): مقدار شاخص ایجاد شده توسط این عبارت باید منحصر به فرد باشد (به جز NULL، NULL ممکن است چندین بار ظاهر شود).
  • ALTER TABLE tbl_name افزودن INDEX index_name (column_list): یک شاخص معمولی اضافه کنید، مقدار شاخص می تواند چندین بار ظاهر شود.
  • ALTER TABLE tbl_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;

فقط باید کلید اصلی را هنگام رها کردن کلید اصلی مشخص کنید، اما هنگام رها کردن فهرست، باید نام ایندکس را بدانید.


نمایش اطلاعات شاخص

می توانید از دستور 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

به کانال تلگرام وبلاگ چن ویلیانگ خوش آمدید تا از آخرین به روز رسانی ها مطلع شوید!

🔔 اولین نفری باشید که "راهنمای استفاده از ابزار هوش مصنوعی بازاریابی محتوایی ChatGPT" را در فهرست بالای کانال دریافت می کنید! 🌟
📚 این راهنما حاوی ارزش بسیار زیادی است، 🌟این یک فرصت نادر است، آن را از دست ندهید! ⏰⌛💨
اگر دوست داشتید به اشتراک بگذارید و لایک کنید
اشتراک گذاری و لایک های شما انگیزه مستمر ما هستند!

 

发表 评论

آدرس ایمیل شما منتشر نخواهد شد. از زمینه های مورد نیاز استفاده می شود * 标注

به بالا بروید