MySQL ਡਾਟਾਬੇਸ ਸੂਚਕਾਂਕ ਕਿਸਮ/ਬਣਾਓ/ਵਰਤੋਂ ਸੁਮੇਲ ALTER ਸਟੇਟਮੈਂਟ MySQL ਵਿੱਚ ਵਰਤੋਂ

MySQLਇੰਡੈਕਸ ਦੀ ਕਿਸਮ/ਬਣਾਓ/ਕੰਬੋ ਬਦਲ ਦੀ ਵਰਤੋਂ ਕਰੋ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 ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸੂਚਕਾਂਕ ਜੋੜੋ ਅਤੇ ਹਟਾਓ

ਇੱਕ ਡੇਟਾ ਟੇਬਲ ਵਿੱਚ ਇੱਕ ਸੂਚਕਾਂਕ ਜੋੜਨ ਦੇ ਚਾਰ ਤਰੀਕੇ ਹਨ:

  • ਸਾਰਣੀ ਨੂੰ ਬਦਲੋ tbl_name ਪ੍ਰਾਇਮਰੀ ਕੁੰਜੀ ਸ਼ਾਮਲ ਕਰੋ (ਕਾਲਮ_ਸੂਚੀ): ਇਹ ਕਥਨ ਇੱਕ ਪ੍ਰਾਇਮਰੀ ਕੁੰਜੀ ਜੋੜਦਾ ਹੈ, ਜਿਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਸੂਚਕਾਂਕ ਮੁੱਲ ਵਿਲੱਖਣ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ ਅਤੇ NULL ਨਹੀਂ ਹੋ ਸਕਦੇ ਹਨ।
  • ਟੇਬਲ ਨੂੰ ਬਦਲੋ tbl_name ਵਿਲੱਖਣ ਸੂਚਕਾਂਕ_ਨਾਮ ਸ਼ਾਮਲ ਕਰੋ (ਕਾਲਮ_ਸੂਚੀ): ਇਸ ਕਥਨ ਦੁਆਰਾ ਬਣਾਏ ਸੂਚਕਾਂਕ ਦਾ ਮੁੱਲ ਵਿਲੱਖਣ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ (NULL ਨੂੰ ਛੱਡ ਕੇ, NULL ਕਈ ਵਾਰ ਦਿਖਾਈ ਦੇ ਸਕਦਾ ਹੈ)।
  • ਟੇਬਲ ਨੂੰ ਬਦਲੋ tbl_name ADD INDEX index_name (column_list): ਇੱਕ ਸਧਾਰਨ ਸੂਚਕਾਂਕ ਜੋੜੋ, ਸੂਚਕਾਂਕ ਮੁੱਲ ਕਈ ਵਾਰ ਦਿਖਾਈ ਦੇ ਸਕਦਾ ਹੈ।
  • ਸਾਰਣੀ ਨੂੰ ਬਦਲੋ 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 ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਪ੍ਰਾਇਮਰੀ ਕੁੰਜੀਆਂ ਜੋੜੋ ਅਤੇ ਹਟਾਓ

ਪ੍ਰਾਇਮਰੀ ਕੁੰਜੀ ਸਿਰਫ਼ ਇੱਕ ਕਾਲਮ 'ਤੇ ਕੰਮ ਕਰ ਸਕਦੀ ਹੈ। ਪ੍ਰਾਇਮਰੀ ਕੁੰਜੀ ਇੰਡੈਕਸ ਨੂੰ ਜੋੜਦੇ ਸਮੇਂ, ਤੁਹਾਨੂੰ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ ਕਿ ਪ੍ਰਾਇਮਰੀ ਕੁੰਜੀ ਮੂਲ ਰੂਪ ਵਿੱਚ 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 ਟੂਲ ਵਰਤੋਂ ਗਾਈਡ" ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲੇ ਪਹਿਲੇ ਬਣੋ! 🌟
📚 ਇਸ ਗਾਈਡ ਵਿੱਚ ਬਹੁਤ ਵੱਡਾ ਮੁੱਲ ਹੈ, 🌟ਇਹ ਇੱਕ ਦੁਰਲੱਭ ਮੌਕਾ ਹੈ, ਇਸ ਨੂੰ ਨਾ ਗੁਆਓ! ⏰⌛💨
ਜੇ ਚੰਗਾ ਲੱਗੇ ਤਾਂ ਸ਼ੇਅਰ ਅਤੇ ਲਾਈਕ ਕਰੋ!
ਤੁਹਾਡੀ ਸ਼ੇਅਰਿੰਗ ਅਤੇ ਪਸੰਦ ਸਾਡੀ ਨਿਰੰਤਰ ਪ੍ਰੇਰਣਾ ਹਨ!

 

ਇੱਕ ਟਿੱਪਣੀ ਪੋਸਟ

ਤੁਹਾਡਾ ਈਮੇਲ ਪਤਾ ਪ੍ਰਕਾਸ਼ਤ ਨਹੀ ਕੀਤਾ ਜਾਵੇਗਾ. ਲੋੜੀਂਦੇ ਖੇਤਰ ਵਰਤੇ ਜਾ ਰਹੇ ਹਨ * ਲੇਬਲ

ਸਿਖਰ ਤੱਕ ਸਕ੍ਰੋਲ ਕਰੋ