MySQL verilənlər bazası indeksi MySQL-də ALTER ifadəsinin istifadəsi kombinasiyasının növü/yaradılması/istifadəsi

MySQLindeks növü/yarat/istifadə kombinasiyasını dəyişdirinMySQLkomanda ifadəsinin istifadəsi

MySQL indeksləri

MySQL indeksinin yaradılması MySQL-in səmərəli işləməsi üçün çox vacibdir və indeks MySQL-in axtarış sürətini xeyli yaxşılaşdıra bilər.

Məsələn, ağlabatan dizayna və indekslərdən istifadəyə malik MySQL Lamborghini-dirsə, indeksləri və indeksləri olmayan MySQL insan üçtəkərlidir.

İndeks tək sütunlu indeksə və kompozit indeksə bölünür.Tək sütunlu indeks, yəni indeks yalnız bir sütundan ibarətdir, cədvəldə bir neçə tək sütunlu indekslər ola bilər, lakin bu birləşmiş indeks deyil.Kompozit indeks, yəni indeks bir neçə sütundan ibarətdir.

İndeks yaradarkən əmin olmalısınız ki, indeks SQL sorğusuna tətbiq olunan şərtdir (ümumiyyətlə WHERE bəndinin şərti kimi).

Əslində, indeks həm də cədvəldir, cədvəl əsas açar və indeks sahələrini saxlayır və obyekt cədvəlinin qeydlərinə işarə edir.

Yuxarıda göstərilənlər indekslərdən istifadənin faydalarından bəhs edir, lakin indekslərin həddindən artıq istifadəsi sui-istifadəyə səbəb olacaqdır.Buna görə də indeksin çatışmazlıqları da olacaq: indeks sorğu sürətini çox yaxşılaşdırsa da, cədvəldə INSERT, UPDATE və DELETE kimi cədvəlin yenilənmə sürətini azaldacaq.Çünki cədvəli yeniləyərkən MySQL təkcə verilənləri saxlamır, həm də indeks faylını saxlayır.

Disk sahəsini sərf edən indeks faylının indeksləşdirilməsi.


normal indeks

indeks yaradın

Bu ən əsas göstəricidir, heç bir məhdudiyyəti yoxdur.O, aşağıdakı yollarla yaradıla bilər:

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

CHAR və VARCHAR növləri üçün uzunluq sahənin faktiki uzunluğundan az ola bilər; BLOB və TEXT növləri üçün uzunluq müəyyən edilməlidir.

Cədvəl strukturunu dəyişdirin (indeks əlavə edin)

ALTER table tableName ADD INDEX indexName(columnName)

Cədvəl yaratarkən birbaşa qeyd edin

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

İndeksi atmaq üçün sintaksis

DROP INDEX [indexName] ON mytable; 

unikal indeks

Əvvəlki adi indeksə bənzəyir, fərq ondadır: indeks sütununun dəyəri unikal olmalıdır, lakin null dəyərlərə icazə verilir.Kompozit indeks vəziyyətində, sütun dəyərlərinin birləşməsi unikal olmalıdır.O, aşağıdakı yollarla yaradıla bilər:

indeks yaradın

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

Cədvəlin strukturunu dəyişdirin

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

Cədvəl yaratarkən birbaşa qeyd edin

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

ALTER əmrindən istifadə edərək indeksləri əlavə edin və silin

Məlumat cədvəlinə indeks əlavə etməyin dörd yolu var:

  • ALTER TABLE tbl_name PRIMARY KEY ƏLAVƏ EDİN (sütun_siyahısı): Bu ifadə əsas açar əlavə edir, yəni indeks dəyərləri unikal olmalıdır və NULL ola bilməz.
  • ALTER TABLE tbl_name ADD UNİKAL index_name (column_list): Bu ifadə ilə yaradılmış indeksin dəyəri unikal olmalıdır (NULL istisna olmaqla, NULL bir neçə dəfə görünə bilər).
  • ALTER TABLE tbl_name ADD INDEX index_name (column_list): Normal bir indeks əlavə edin, indeks dəyəri bir neçə dəfə görünə bilər.
  • ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list):Bəyanat tam mətnin indeksləşdirilməsi üçün indeksi FULLTEXT kimi təyin edir.

Aşağıdakı nümunə cədvələ indeks əlavə etməkdir.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

İndeksləri atmaq üçün ALTER əmrindəki DROP bəndindən də istifadə edə bilərsiniz.İndeksi atmaq üçün aşağıdakı nümunəni sınayın:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

ALTER əmrindən istifadə edərək əsas açarları əlavə edin və çıxarın

İlkin açar yalnız bir sütunda fəaliyyət göstərə bilər.İlkin açar indeksi əlavə edərkən, əsas açarın defolt olaraq NULL olmadığına əmin olmalısınız (NULL DEYİL).Nümunələr aşağıdakılardır:

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

Siz həmçinin ALTER əmri ilə əsas açarı silə bilərsiniz:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

Siz yalnız əsas açarı atarkən PRIMARY KEY-i təyin etməlisiniz, lakin indeksi atarkən indeksin adını bilməlisiniz.


indeks məlumatını göstərin

Cədvəldə müvafiq indeks məlumatlarını sadalamaq üçün SHOW INDEX əmrindən istifadə edə bilərsiniz.Çıxış məlumatı \G əlavə etməklə formatlana bilər.

Aşağıdakı nümunələri sınayın:

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

Hope Chen Weiliang Blogu ( https://www.chenweiliang.com/ ) sizin üçün faydalı olan "MySQL Database Index Type/Create/Use Combination ALTER Statement Usage in MySQL" paylaşdı.

Bu məqalənin linkini paylaşmağa xoş gəlmisiniz:https://www.chenweiliang.com/cwl-496.html

Ən son yenilikləri əldə etmək üçün Chen Weiliang bloqunun Telegram kanalına xoş gəlmisiniz!

🔔 Kanalın ən yaxşı kataloqunda dəyərli "ChatGPT Məzmun Marketinq AI Aləti İstifadə Bələdçisi"ni ilk əldə edən siz olun! 🌟
📚 Bu təlimatda böyük dəyər var, 🌟Bu nadir fürsətdir, qaçırmayın! ⏰⌛💨
Bəyəndinizsə paylaşın və bəyənin!
Paylaşımlarınız və bəyənmələriniz davamlı motivasiyamızdır!

 

发表 评论

Elektron poçtunuz dərc olunmayacaq. Zəruri sahələrdən istifadə olunur * Etiket

yuxarıya sürüşdürün