MySQL ಡೇಟಾಬೇಸ್ ಸೂಚ್ಯಂಕ ಪ್ರಕಾರ/ರಚಿಸಿ/ಬಳಸಿ ಸಂಯೋಜನೆ ALTER ಹೇಳಿಕೆ MySQL ನಲ್ಲಿ

MySQLಸೂಚ್ಯಂಕ ಪ್ರಕಾರ/ರಚಿಸಿ/ಬಳಸಿ ಕಾಂಬೊ ಮಾರ್ಪಾಡುMySQLಆಜ್ಞೆಯ ಹೇಳಿಕೆ ಬಳಕೆ

MySQL ಸೂಚಿಕೆಗಳು

MySQL ನ ದಕ್ಷ ಕಾರ್ಯಾಚರಣೆಗೆ MySQL ಸೂಚಿಯನ್ನು ಸ್ಥಾಪಿಸುವುದು ಬಹಳ ಮುಖ್ಯ, ಮತ್ತು ಸೂಚ್ಯಂಕವು MySQL ನ ಮರುಪಡೆಯುವಿಕೆ ವೇಗವನ್ನು ಹೆಚ್ಚು ಸುಧಾರಿಸುತ್ತದೆ.

ಉದಾಹರಣೆಗೆ, ಸಮಂಜಸವಾದ ವಿನ್ಯಾಸ ಮತ್ತು ಸೂಚ್ಯಂಕಗಳ ಬಳಕೆಯನ್ನು ಹೊಂದಿರುವ MySQL ಒಂದು ಲಂಬೋರ್ಗಿನಿ ಆಗಿದ್ದರೆ, ಸೂಚ್ಯಂಕಗಳು ಮತ್ತು ಸೂಚಿಕೆಗಳಿಲ್ಲದ MySQL ಮಾನವ ಟ್ರೈಸಿಕಲ್ ಆಗಿದೆ.

ಸೂಚ್ಯಂಕವನ್ನು ಏಕ-ಕಾಲಮ್ ಸೂಚ್ಯಂಕ ಮತ್ತು ಸಂಯೋಜಿತ ಸೂಚ್ಯಂಕಗಳಾಗಿ ವಿಂಗಡಿಸಲಾಗಿದೆ.ಏಕ-ಕಾಲಮ್ ಸೂಚ್ಯಂಕ, ಅಂದರೆ, ಒಂದು ಸೂಚ್ಯಂಕವು ಒಂದೇ ಕಾಲಮ್ ಅನ್ನು ಹೊಂದಿರುತ್ತದೆ, ಒಂದು ಕೋಷ್ಟಕವು ಬಹು ಏಕ-ಕಾಲಮ್ ಸೂಚಿಕೆಗಳನ್ನು ಹೊಂದಬಹುದು, ಆದರೆ ಇದು ಸಂಯೋಜಿತ ಸೂಚ್ಯಂಕವಲ್ಲ.ಸಂಯೋಜಿತ ಸೂಚ್ಯಂಕ, ಅಂದರೆ, ಸೂಚ್ಯಂಕವು ಬಹು ಕಾಲಮ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.

ಸೂಚ್ಯಂಕವನ್ನು ರಚಿಸುವಾಗ, ಸೂಚ್ಯಂಕವು SQL ಪ್ರಶ್ನೆಗೆ ಅನ್ವಯಿಸಲಾದ ಷರತ್ತು ಎಂದು ನೀವು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಬೇಕು (ಸಾಮಾನ್ಯವಾಗಿ WHERE ಷರತ್ತಿನ ಸ್ಥಿತಿಯಂತೆ).

ವಾಸ್ತವವಾಗಿ, ಸೂಚ್ಯಂಕವು ಒಂದು ಕೋಷ್ಟಕವಾಗಿದೆ, ಟೇಬಲ್ ಪ್ರಾಥಮಿಕ ಕೀ ಮತ್ತು ಸೂಚ್ಯಂಕ ಕ್ಷೇತ್ರಗಳನ್ನು ಉಳಿಸುತ್ತದೆ ಮತ್ತು ಘಟಕದ ಕೋಷ್ಟಕದ ದಾಖಲೆಗಳಿಗೆ ಅಂಕಗಳನ್ನು ನೀಡುತ್ತದೆ.

ಮೇಲಿನವು ಸೂಚ್ಯಂಕಗಳನ್ನು ಬಳಸುವ ಪ್ರಯೋಜನಗಳ ಬಗ್ಗೆ ಮಾತನಾಡುತ್ತಿವೆ, ಆದರೆ ಸೂಚ್ಯಂಕಗಳ ಅತಿಯಾದ ಬಳಕೆಯು ದುರುಪಯೋಗಕ್ಕೆ ಕಾರಣವಾಗುತ್ತದೆ.ಆದ್ದರಿಂದ, ಸೂಚ್ಯಂಕವು ಅದರ ನ್ಯೂನತೆಗಳನ್ನು ಸಹ ಹೊಂದಿರುತ್ತದೆ: ಸೂಚ್ಯಂಕವು ಪ್ರಶ್ನೆಯ ವೇಗವನ್ನು ಹೆಚ್ಚು ಸುಧಾರಿಸುತ್ತದೆಯಾದರೂ, ಇದು ಟೇಬಲ್ ಅನ್ನು ನವೀಕರಿಸುವ ವೇಗವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ, ಉದಾಹರಣೆಗೆ ಟೇಬಲ್‌ನಲ್ಲಿ ಸೇರಿಸು, ನವೀಕರಿಸಿ ಮತ್ತು ಅಳಿಸಿ.ಏಕೆಂದರೆ ಟೇಬಲ್ ಅನ್ನು ನವೀಕರಿಸುವಾಗ, 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 ಆಜ್ಞೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಸೂಚ್ಯಂಕಗಳನ್ನು ಸೇರಿಸಿ ಮತ್ತು ತೆಗೆದುಹಾಕಿ

ಡೇಟಾ ಟೇಬಲ್‌ಗೆ ಸೂಚ್ಯಂಕವನ್ನು ಸೇರಿಸಲು ನಾಲ್ಕು ಮಾರ್ಗಗಳಿವೆ:

  • ALTER TABLE tbl_name ಸೇರಿಸಿ ಪ್ರಾಥಮಿಕ ಕೀಲಿ (column_list): ಈ ಹೇಳಿಕೆಯು ಪ್ರಾಥಮಿಕ ಕೀಲಿಯನ್ನು ಸೇರಿಸುತ್ತದೆ, ಅಂದರೆ ಸೂಚ್ಯಂಕ ಮೌಲ್ಯಗಳು ಅನನ್ಯವಾಗಿರಬೇಕು ಮತ್ತು ಶೂನ್ಯವಾಗಿರಬಾರದು.
  • ALTER TABLE tbl_name UNIQUE index_name (column_list) ಸೇರಿಸಿ: ಈ ಹೇಳಿಕೆಯಿಂದ ರಚಿಸಲಾದ ಸೂಚ್ಯಂಕದ ಮೌಲ್ಯವು ಅನನ್ಯವಾಗಿರಬೇಕು (NULL ಹೊರತುಪಡಿಸಿ, NULL ಅನೇಕ ಬಾರಿ ಕಾಣಿಸಿಕೊಳ್ಳಬಹುದು).
  • ALTER TABLE tbl_name ಸೇರಿಸಿ INDEX ಸೂಚ್ಯಂಕ_ಹೆಸರು (column_list): ಸಾಮಾನ್ಯ ಸೂಚ್ಯಂಕವನ್ನು ಸೇರಿಸಿ, ಸೂಚ್ಯಂಕ ಮೌಲ್ಯವು ಅನೇಕ ಬಾರಿ ಕಾಣಿಸಿಕೊಳ್ಳಬಹುದು.
  • ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list):ಹೇಳಿಕೆಯು ಪೂರ್ಣ-ಪಠ್ಯ ಸೂಚ್ಯಂಕಕ್ಕಾಗಿ ಸೂಚ್ಯಂಕವನ್ನು FULLTEXT ಎಂದು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ.

ಕೋಷ್ಟಕಕ್ಕೆ ಸೂಚ್ಯಂಕವನ್ನು ಸೇರಿಸುವುದು ಕೆಳಗಿನ ಉದಾಹರಣೆಯಾಗಿದೆ.

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

ಸೂಚ್ಯಂಕಗಳನ್ನು ಬಿಡಲು ನೀವು ALTER ಆಜ್ಞೆಯಲ್ಲಿ DROP ಷರತ್ತು ಬಳಸಬಹುದು.ಸೂಚ್ಯಂಕವನ್ನು ಬಿಡಲು ಈ ಕೆಳಗಿನ ನಿದರ್ಶನವನ್ನು ಪ್ರಯತ್ನಿಸಿ:

mysql> ALTER TABLE testalter_tbl DROP INDEX c;

ALTER ಆಜ್ಞೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಪ್ರಾಥಮಿಕ ಕೀಗಳನ್ನು ಸೇರಿಸಿ ಮತ್ತು ತೆಗೆದುಹಾಕಿ

ಪ್ರಾಥಮಿಕ ಕೀಲಿಯು ಒಂದು ಕಾಲಮ್‌ನಲ್ಲಿ ಮಾತ್ರ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಪ್ರಾಥಮಿಕ ಕೀಲಿ ಸೂಚಿಯನ್ನು ಸೇರಿಸುವಾಗ, ಪ್ರಾಥಮಿಕ ಕೀಲಿಯು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಶೂನ್ಯವಾಗಿಲ್ಲ (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 ನಲ್ಲಿ" ಹಂಚಿಕೊಂಡಿದೆ, ಇದು ನಿಮಗೆ ಸಹಾಯಕವಾಗಿದೆ.

ಈ ಲೇಖನದ ಲಿಂಕ್ ಅನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಸ್ವಾಗತ:https://www.chenweiliang.com/cwl-496.html

ಇತ್ತೀಚಿನ ನವೀಕರಣಗಳನ್ನು ಪಡೆಯಲು ಚೆನ್ ವೈಲಿಯಾಂಗ್ ಅವರ ಬ್ಲಾಗ್‌ನ ಟೆಲಿಗ್ರಾಮ್ ಚಾನಲ್‌ಗೆ ಸುಸ್ವಾಗತ!

🔔 ಚಾನಲ್ ಟಾಪ್ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಮೌಲ್ಯಯುತವಾದ "ChatGPT ಕಂಟೆಂಟ್ ಮಾರ್ಕೆಟಿಂಗ್ AI ಟೂಲ್ ಬಳಕೆಯ ಮಾರ್ಗದರ್ಶಿ" ಪಡೆಯುವಲ್ಲಿ ಮೊದಲಿಗರಾಗಿರಿ! 🌟
📚 ಈ ಮಾರ್ಗದರ್ಶಿಯು ದೊಡ್ಡ ಮೌಲ್ಯವನ್ನು ಹೊಂದಿದೆ, 🌟ಇದು ಅಪರೂಪದ ಅವಕಾಶವಾಗಿದೆ, ಇದನ್ನು ತಪ್ಪಿಸಿಕೊಳ್ಳಬೇಡಿ! ⏰⌛💨
ಇಷ್ಟವಾದಲ್ಲಿ ಶೇರ್ ಮಾಡಿ ಮತ್ತು ಲೈಕ್ ಮಾಡಿ!
ನಿಮ್ಮ ಹಂಚಿಕೆ ಮತ್ತು ಇಷ್ಟಗಳು ನಮ್ಮ ನಿರಂತರ ಪ್ರೇರಣೆ!

 

ಪ್ರತಿಕ್ರಿಯೆಗಳು

ನಿಮ್ಮ ಇಮೇಲ್ ವಿಳಾಸವನ್ನು ಪ್ರಕಟಿಸಲಾಗುವುದಿಲ್ಲ. ಅಗತ್ಯವಿರುವ ಕ್ಷೇತ್ರಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ * ಲೇಬಲ್

ಮೇಲಕ್ಕೆ ಸ್ಕ್ರಾಲ್ ಮಾಡಿ