MySQL ਲਈ ਅਨੁਕੂਲਨ ਤਕਨੀਕਾਂ: ਪ੍ਰਦਰਸ਼ਨ ਅਤੇ ਗਤੀ ਨੂੰ ਵਧਾਓ

SELECT ਪੁੱਛਗਿੱਛਾਂ ਵਿੱਚ ਲੋੜੀਂਦੇ ਖੇਤਰ ਨਿਰਧਾਰਤ ਕਰੋ

ਪੁੱਛਗਿੱਛ ਵਿੱਚ ਸਾਰੇ ਖੇਤਰਾਂ ਨੂੰ ਚੁਣਨ ਦੀ ਬਜਾਏ SELECT, ਲੋਡ ਨੂੰ ਘਟਾਉਣ ਅਤੇ ਪੁੱਛਗਿੱਛ ਦੀ ਗਤੀ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ ਸਿਰਫ਼ ਲੋੜੀਂਦੇ ਖੇਤਰਾਂ ਦੀ ਚੋਣ ਕਰੋ।

ਉਦਾਹਰਨ ਲਈ, ਜੇਕਰ ਤੁਸੀਂ ਸਿਰਫ਼ ਗਾਹਕ ਦੇ ਨਾਮ ਅਤੇ ਪਤੇ ਦੀ ਪਰਵਾਹ ਕਰਦੇ ਹੋ, ਤਾਂ ਪੁੱਛਗਿੱਛ ਨੂੰ ਬਦਲੋ:

SELECT * FROM customers;

ਨਾਲ

SELECT name, address FROM customers;

 

ਸੂਚਕਾਂਕ ਬਣਾਓ

Index MySQL ਖੋਜ ਅਤੇ ਤੇਜ਼ੀ ਨਾਲ ਡਾਟਾ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰੋ । ਉਹਨਾਂ ਖੇਤਰਾਂ ਦੀ ਪਛਾਣ ਕਰੋ ਜੋ ਅਕਸਰ WHERE, JOIN, ਜਾਂ ORDER BY ਧਾਰਾਵਾਂ ਵਿੱਚ ਵਰਤੇ ਜਾਂਦੇ ਹਨ ਅਤੇ ਉਹਨਾਂ ਲਈ ਸੂਚਕਾਂਕ ਬਣਾਓ।

ਉਦਾਹਰਨ ਲਈ, " orders " ਸਾਰਣੀ ਵਿੱਚ, ਜੇਕਰ " customer_id " ਖੇਤਰ ਅਕਸਰ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ WHERE ਜਾਂ JOIN ਸਵਾਲ ਕੀਤੇ ਜਾਂਦੇ ਹਨ, ਤਾਂ ਤੁਸੀਂ ਹੇਠਾਂ ਦਿੱਤੇ ਅਨੁਸਾਰ ਇੱਕ ਇੰਡੈਕਸ ਬਣਾ ਸਕਦੇ ਹੋ:

CREATE INDEX idx_customer_id ON orders(customer_id);

 

ਉਚਿਤ ਕਿਸਮ ਦੇ ਸੂਚਕਾਂਕ ਦੀ ਵਰਤੋਂ ਕਰੋ

MySQL ਕਈ ਕਿਸਮ ਦੇ ਸੂਚਕਾਂਕ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ ਜਿਵੇਂ ਕਿ B-tree, ਹੈਸ਼ ਅਤੇ full-text. ਸਰਵੋਤਮ ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਤੁਹਾਡੀ ਪੁੱਛਗਿੱਛ ਦੀਆਂ ਲੋੜਾਂ ਦੇ ਆਧਾਰ 'ਤੇ ਉਚਿਤ ਕਿਸਮ ਦਾ ਸੂਚਕਾਂਕ ਚੁਣੋ।

ਉਦਾਹਰਨ ਲਈ, ਜੇਕਰ ਤੁਹਾਨੂੰ ਇੱਕ ਡੇਟਾ ਖੇਤਰ ਵਿੱਚ ਟੈਕਸਟ ਖੋਜਣ ਦੀ ਲੋੜ ਹੈ, ਤਾਂ ਤੁਸੀਂ full-text ਹੇਠਾਂ ਦਿੱਤੇ ਅਨੁਸਾਰ ਇੱਕ ਸੂਚਕਾਂਕ ਬਣਾ ਸਕਦੇ ਹੋ:

CREATE FULLTEXT INDEX idx_description ON products(description);

 

ਸਵਾਲਾਂ ਨੂੰ ਅਨੁਕੂਲਿਤ ਕਰੋ

EXPLAIN ਕਿਊਰੀ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਪਲਾਨ ਨੂੰ ਦੇਖਣ ਅਤੇ ਇਹ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਨ ਲਈ ਵਰਤੋ ਕਿ MySQL ਇਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ। ਇਹ ਤੁਹਾਨੂੰ ਪ੍ਰਦਰਸ਼ਨ ਸਮੱਸਿਆਵਾਂ ਦੀ ਪਛਾਣ ਕਰਨ ਅਤੇ ਸੂਚਕਾਂਕ ਜਾਂ ਪੁਨਰ-ਲਿਖਣ ਸਵਾਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸਵਾਲਾਂ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ।

ਉਦਾਹਰਨ ਲਈ, ਇੱਕ ਪੁੱਛਗਿੱਛ ਦੀ ਪੁੱਛਗਿੱਛ ਯੋਜਨਾ ਨੂੰ ਦੇਖਣ ਲਈ SELECT, ਹੇਠ ਦਿੱਤੀ ਕਮਾਂਡ ਚਲਾਓ:

EXPLAIN SELECT * FROM orders WHERE customer_id = 123;

 

ਵਾਪਸ ਕੀਤੇ ਨਤੀਜਿਆਂ ਦੀ ਗਿਣਤੀ ਸੀਮਤ ਕਰੋ

ਜਦੋਂ ਕੋਈ ਪੁੱਛਗਿੱਛ ਵੱਡੀ ਗਿਣਤੀ ਵਿੱਚ ਨਤੀਜੇ ਦਿੰਦੀ ਹੈ, ਤਾਂ LIMIT ਧਾਰਾ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਵਾਪਸ ਕੀਤੇ ਨਤੀਜਿਆਂ ਦੀ ਗਿਣਤੀ ਨੂੰ ਸੀਮਤ ਕਰੋ। ਇਹ ਲੋਡ ਘਟਾਉਣ ਅਤੇ ਪੁੱਛਗਿੱਛ ਦੀ ਗਤੀ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ।

ਉਦਾਹਰਨ ਲਈ, "ਉਤਪਾਦਾਂ" ਸਾਰਣੀ ਤੋਂ ਸਿਰਫ਼ 10 ਨਤੀਜੇ ਵਾਪਸ ਕਰਨ ਲਈ, ਤੁਸੀਂ ਹੇਠਾਂ ਦਿੱਤੀ ਪੁੱਛਗਿੱਛ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ:

SELECT * FROM products LIMIT 10;

 

INNER JOIN ਦੀ ਬਜਾਏ ਵਰਤੋ JOIN

INNER JOIN ਨਿਯਮਤ ਨਾਲੋਂ ਵਧੀਆ ਪ੍ਰਦਰਸ਼ਨ ਕਰਦਾ ਹੈ JOIN । ਉਦੋਂ ਵਰਤੋ INNER JOIN ਜਦੋਂ ਤੁਸੀਂ ਸਿਰਫ਼ ਉਹਨਾਂ ਰਿਕਾਰਡਾਂ ਦੀ ਪਰਵਾਹ ਕਰਦੇ ਹੋ ਜੋ ਦੋਵਾਂ ਟੇਬਲਾਂ ਵਿੱਚ ਮੇਲ ਖਾਂਦੇ ਹਨ।

ਉਦਾਹਰਨ ਲਈ, " " ਖੇਤਰ ਦੇ ਅਧਾਰ ਤੇ " orders " ਅਤੇ " " ਟੇਬਲਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਣ ਲਈ, ਤੁਸੀਂ ਹੇਠਾਂ ਦਿੱਤੀ ਪੁੱਛਗਿੱਛ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ: customers customer_id

SELECT * FROM orders INNER JOIN customers ON orders.customer_id = customers.customer_id;

 

ਸਾਵਧਾਨੀ ਨਾਲ ਅਸਥਾਈ ਟੇਬਲ ਦੀ ਵਰਤੋਂ ਕਰੋ

ਅਸਥਾਈ ਟੇਬਲਾਂ ਨੂੰ ਕੁਝ ਮਾਮਲਿਆਂ ਵਿੱਚ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ, ਪਰ ਉਹਨਾਂ ਨੂੰ ਧਿਆਨ ਨਾਲ ਵਰਤਣ ਦੀ ਲੋੜ ਹੈ ਕਿਉਂਕਿ ਇਹ ਸਵਾਲਾਂ ਨੂੰ ਹੌਲੀ ਕਰ ਸਕਦੀਆਂ ਹਨ। ਜੇਕਰ ਸੰਭਵ ਹੋਵੇ ਤਾਂ ਅਸਥਾਈ ਟੇਬਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਬਚਣ ਲਈ ਸਵਾਲਾਂ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਣ 'ਤੇ ਵਿਚਾਰ ਕਰੋ।

ਉਦਾਹਰਨ ਲਈ, ਹੇਠਾਂ ਦਿੱਤੀ ਪੁੱਛਗਿੱਛ ਵਿੱਚ ਇੱਕ ਅਸਥਾਈ ਸਾਰਣੀ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਬਜਾਏ:

CREATE TEMPORARY TABLE temp_table SELECT * FROM products;

ਤੁਸੀਂ ਮੂਲ ਸਾਰਣੀ ਤੋਂ ਸਿੱਧੇ ਪੁੱਛਗਿੱਛ ਲਈ ਪੁੱਛਗਿੱਛ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਸਕਦੇ ਹੋ।

 

MySQL ਕੌਂਫਿਗਰੇਸ਼ਨ ਨੂੰ ਫਾਈਨ-ਟਿਊਨ ਕਰੋ

ਸਿਸਟਮ ਸਰੋਤਾਂ ਦਾ ਵੱਧ ਤੋਂ ਵੱਧ ਲਾਭ ਉਠਾਉਣ ਅਤੇ ਆਪਣੀ ਐਪਲੀਕੇਸ਼ਨ ਦੀਆਂ ਲੋੜਾਂ ਨਾਲ ਇਕਸਾਰ ਹੋਣ ਲਈ MySQL ਨੂੰ ਮੁੜ ਸੰਰਚਿਤ ਕਰਨ 'ਤੇ ਵਿਚਾਰ ਕਰੋ। ਇਸ ਵਿੱਚ ਮੈਮੋਰੀ, ਬਫਰ ਆਕਾਰ, ਕੁਨੈਕਸ਼ਨ ਸੀਮਾਵਾਂ, ਅਤੇ ਹੋਰ ਮਾਪਦੰਡਾਂ ਦੀ ਸੰਰਚਨਾ ਸ਼ਾਮਲ ਹੈ। MySQL ਦਸਤਾਵੇਜ਼ਾਂ ਦਾ ਹਵਾਲਾ ਲਓ ਅਤੇ ਸਿੱਖੋ ਕਿ ਤੁਹਾਡੇ ਖਾਸ ਵਾਤਾਵਰਣ ਦੇ ਅਨੁਕੂਲ ਸੰਰਚਨਾ ਨੂੰ ਕਿਵੇਂ ਵਿਵਸਥਿਤ ਕਰਨਾ ਹੈ।

 

ਬੇਲੋੜਾ ਡੇਟਾ ਮਿਟਾਓ

ਡਾਟਾਬੇਸ ਦਾ ਆਕਾਰ ਘਟਾਉਣ ਅਤੇ ਪੁੱਛਗਿੱਛ ਦੀ ਗਤੀ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ ਬੇਲੋੜੇ ਡੇਟਾ ਨੂੰ ਮਿਟਾਓ ਜਾਂ ਪੁਰਾਣੇ ਡੇਟਾ ਦਾ ਬੈਕਅੱਪ ਲਓ।

ਉਦਾਹਰਨ ਲਈ, ਜੇਕਰ ਤੁਹਾਡੇ ਕੋਲ logs ਪੁਰਾਣੇ ਲੌਗ ਰਿਕਾਰਡਾਂ ਨੂੰ ਸਟੋਰ ਕਰਨ ਵਾਲੀ ਸਾਰਣੀ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਹੇਠਾਂ ਦਿੱਤੀ ਪੁੱਛਗਿੱਛ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਸਾਲ ਤੋਂ ਪੁਰਾਣੇ ਰਿਕਾਰਡਾਂ ਨੂੰ ਮਿਟਾ ਸਕਦੇ ਹੋ:

DELETE FROM logs WHERE created_at < '2022-01-01';

 

ਮੈਮੋਰੀ ਦੀ ਵਰਤੋਂ ਕਰੋ cache

MySQL ਦੀ ਮੈਮੋਰੀ ਨੂੰ cache ਅਕਸਰ ਚਲਾਈਆਂ ਗਈਆਂ ਪੁੱਛਗਿੱਛਾਂ ਅਤੇ ਹਾਲ ਹੀ ਵਿੱਚ ਐਕਸੈਸ ਕੀਤੇ ਡੇਟਾ ਨੂੰ ਸਟੋਰ ਕਰਨ ਲਈ ਕੌਂਫਿਗਰ ਕਰੋ। ਇਹ ਡਿਸਕ ਐਕਸੈਸ ਸਮਾਂ ਘਟਾਉਣ ਅਤੇ ਪੁੱਛਗਿੱਛ ਦੀ ਗਤੀ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ।

ਉਦਾਹਰਨ ਲਈ, 1GB ਦੇ ਆਕਾਰ ਦੇ ਨਾਲ ਇੱਕ ਮੈਮੋਰੀ ਕੈਸ਼ ਦੀ ਸੰਰਚਨਾ ਕਰਨ ਲਈ, ਤੁਸੀਂ MySQL ਦੀ "my.cnf" ਸੰਰਚਨਾ ਫਾਈਲ ਨੂੰ ਹੇਠਾਂ ਅਨੁਸਾਰ ਸੋਧ ਸਕਦੇ ਹੋ:

[mysqld]  
...  
query_cache_type = 1  
query_cache_size = 1G  

 

ਕਿਰਪਾ ਕਰਕੇ ਨੋਟ ਕਰੋ ਕਿ ਉਪਰੋਕਤ ਉਦਾਹਰਨਾਂ ਵਿਆਖਿਆਤਮਕ ਹਨ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਤੁਹਾਡੇ ਅਸਲ ਡੇਟਾਬੇਸ ਦੀ ਬਣਤਰ ਅਤੇ ਲੋੜਾਂ ਦੇ ਅਨੁਸਾਰ ਐਡਜਸਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ। ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਨ ਲਈ ਕਿ ਇਹ ਤੁਹਾਡੇ ਖਾਸ ਵਾਤਾਵਰਣ ਲਈ ਢੁਕਵੇਂ ਹਨ, ਇਹਨਾਂ ਅਨੁਕੂਲਨ ਤਕਨੀਕਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਅਤੇ ਬਾਅਦ ਵਿੱਚ ਪ੍ਰਭਾਵ ਦੀ ਧਿਆਨ ਨਾਲ ਜਾਂਚ ਅਤੇ ਮੁਲਾਂਕਣ ਕਰੋ।