SELECT
ਪੁੱਛਗਿੱਛਾਂ ਵਿੱਚ ਲੋੜੀਂਦੇ ਖੇਤਰ ਨਿਰਧਾਰਤ ਕਰੋ
ਪੁੱਛਗਿੱਛ ਵਿੱਚ ਸਾਰੇ ਖੇਤਰਾਂ ਨੂੰ ਚੁਣਨ ਦੀ ਬਜਾਏ SELECT
, ਲੋਡ ਨੂੰ ਘਟਾਉਣ ਅਤੇ ਪੁੱਛਗਿੱਛ ਦੀ ਗਤੀ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ ਸਿਰਫ਼ ਲੋੜੀਂਦੇ ਖੇਤਰਾਂ ਦੀ ਚੋਣ ਕਰੋ।
ਉਦਾਹਰਨ ਲਈ, ਜੇਕਰ ਤੁਸੀਂ ਸਿਰਫ਼ ਗਾਹਕ ਦੇ ਨਾਮ ਅਤੇ ਪਤੇ ਦੀ ਪਰਵਾਹ ਕਰਦੇ ਹੋ, ਤਾਂ ਪੁੱਛਗਿੱਛ ਨੂੰ ਬਦਲੋ:
ਨਾਲ
ਸੂਚਕਾਂਕ ਬਣਾਓ
Index
MySQL
ਖੋਜ ਅਤੇ ਤੇਜ਼ੀ ਨਾਲ ਡਾਟਾ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰੋ । ਉਹਨਾਂ ਖੇਤਰਾਂ ਦੀ ਪਛਾਣ ਕਰੋ ਜੋ ਅਕਸਰ WHERE
, JOIN
, ਜਾਂ ORDER BY
ਧਾਰਾਵਾਂ ਵਿੱਚ ਵਰਤੇ ਜਾਂਦੇ ਹਨ ਅਤੇ ਉਹਨਾਂ ਲਈ ਸੂਚਕਾਂਕ ਬਣਾਓ।
ਉਦਾਹਰਨ ਲਈ, " orders
" ਸਾਰਣੀ ਵਿੱਚ, ਜੇਕਰ " customer_id
" ਖੇਤਰ ਅਕਸਰ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ WHERE
ਜਾਂ JOIN
ਸਵਾਲ ਕੀਤੇ ਜਾਂਦੇ ਹਨ, ਤਾਂ ਤੁਸੀਂ ਹੇਠਾਂ ਦਿੱਤੇ ਅਨੁਸਾਰ ਇੱਕ ਇੰਡੈਕਸ ਬਣਾ ਸਕਦੇ ਹੋ:
ਉਚਿਤ ਕਿਸਮ ਦੇ ਸੂਚਕਾਂਕ ਦੀ ਵਰਤੋਂ ਕਰੋ
MySQL
ਕਈ ਕਿਸਮ ਦੇ ਸੂਚਕਾਂਕ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ ਜਿਵੇਂ ਕਿ B-tree
, ਹੈਸ਼ ਅਤੇ full-text
. ਸਰਵੋਤਮ ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਤੁਹਾਡੀ ਪੁੱਛਗਿੱਛ ਦੀਆਂ ਲੋੜਾਂ ਦੇ ਆਧਾਰ 'ਤੇ ਉਚਿਤ ਕਿਸਮ ਦਾ ਸੂਚਕਾਂਕ ਚੁਣੋ।
ਉਦਾਹਰਨ ਲਈ, ਜੇਕਰ ਤੁਹਾਨੂੰ ਇੱਕ ਡੇਟਾ ਖੇਤਰ ਵਿੱਚ ਟੈਕਸਟ ਖੋਜਣ ਦੀ ਲੋੜ ਹੈ, ਤਾਂ ਤੁਸੀਂ full-text
ਹੇਠਾਂ ਦਿੱਤੇ ਅਨੁਸਾਰ ਇੱਕ ਸੂਚਕਾਂਕ ਬਣਾ ਸਕਦੇ ਹੋ:
ਸਵਾਲਾਂ ਨੂੰ ਅਨੁਕੂਲਿਤ ਕਰੋ
EXPLAIN
ਕਿਊਰੀ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਪਲਾਨ ਨੂੰ ਦੇਖਣ ਅਤੇ ਇਹ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਨ ਲਈ ਵਰਤੋ ਕਿ MySQL
ਇਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ। ਇਹ ਤੁਹਾਨੂੰ ਪ੍ਰਦਰਸ਼ਨ ਸਮੱਸਿਆਵਾਂ ਦੀ ਪਛਾਣ ਕਰਨ ਅਤੇ ਸੂਚਕਾਂਕ ਜਾਂ ਪੁਨਰ-ਲਿਖਣ ਸਵਾਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸਵਾਲਾਂ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ।
ਉਦਾਹਰਨ ਲਈ, ਇੱਕ ਪੁੱਛਗਿੱਛ ਦੀ ਪੁੱਛਗਿੱਛ ਯੋਜਨਾ ਨੂੰ ਦੇਖਣ ਲਈ SELECT
, ਹੇਠ ਦਿੱਤੀ ਕਮਾਂਡ ਚਲਾਓ:
ਵਾਪਸ ਕੀਤੇ ਨਤੀਜਿਆਂ ਦੀ ਗਿਣਤੀ ਸੀਮਤ ਕਰੋ
ਜਦੋਂ ਕੋਈ ਪੁੱਛਗਿੱਛ ਵੱਡੀ ਗਿਣਤੀ ਵਿੱਚ ਨਤੀਜੇ ਦਿੰਦੀ ਹੈ, ਤਾਂ LIMIT
ਧਾਰਾ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਵਾਪਸ ਕੀਤੇ ਨਤੀਜਿਆਂ ਦੀ ਗਿਣਤੀ ਨੂੰ ਸੀਮਤ ਕਰੋ। ਇਹ ਲੋਡ ਘਟਾਉਣ ਅਤੇ ਪੁੱਛਗਿੱਛ ਦੀ ਗਤੀ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ।
ਉਦਾਹਰਨ ਲਈ, "ਉਤਪਾਦਾਂ" ਸਾਰਣੀ ਤੋਂ ਸਿਰਫ਼ 10 ਨਤੀਜੇ ਵਾਪਸ ਕਰਨ ਲਈ, ਤੁਸੀਂ ਹੇਠਾਂ ਦਿੱਤੀ ਪੁੱਛਗਿੱਛ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ:
INNER JOIN
ਦੀ ਬਜਾਏ ਵਰਤੋ JOIN
INNER JOIN
ਨਿਯਮਤ ਨਾਲੋਂ ਵਧੀਆ ਪ੍ਰਦਰਸ਼ਨ ਕਰਦਾ ਹੈ JOIN
। ਉਦੋਂ ਵਰਤੋ INNER JOIN
ਜਦੋਂ ਤੁਸੀਂ ਸਿਰਫ਼ ਉਹਨਾਂ ਰਿਕਾਰਡਾਂ ਦੀ ਪਰਵਾਹ ਕਰਦੇ ਹੋ ਜੋ ਦੋਵਾਂ ਟੇਬਲਾਂ ਵਿੱਚ ਮੇਲ ਖਾਂਦੇ ਹਨ।
ਉਦਾਹਰਨ ਲਈ, " " ਖੇਤਰ ਦੇ ਅਧਾਰ ਤੇ " orders
" ਅਤੇ " " ਟੇਬਲਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਹੋਣ ਲਈ, ਤੁਸੀਂ ਹੇਠਾਂ ਦਿੱਤੀ ਪੁੱਛਗਿੱਛ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ: customers
customer_id
ਸਾਵਧਾਨੀ ਨਾਲ ਅਸਥਾਈ ਟੇਬਲ ਦੀ ਵਰਤੋਂ ਕਰੋ
ਅਸਥਾਈ ਟੇਬਲਾਂ ਨੂੰ ਕੁਝ ਮਾਮਲਿਆਂ ਵਿੱਚ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ, ਪਰ ਉਹਨਾਂ ਨੂੰ ਧਿਆਨ ਨਾਲ ਵਰਤਣ ਦੀ ਲੋੜ ਹੈ ਕਿਉਂਕਿ ਇਹ ਸਵਾਲਾਂ ਨੂੰ ਹੌਲੀ ਕਰ ਸਕਦੀਆਂ ਹਨ। ਜੇਕਰ ਸੰਭਵ ਹੋਵੇ ਤਾਂ ਅਸਥਾਈ ਟੇਬਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਬਚਣ ਲਈ ਸਵਾਲਾਂ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਣ 'ਤੇ ਵਿਚਾਰ ਕਰੋ।
ਉਦਾਹਰਨ ਲਈ, ਹੇਠਾਂ ਦਿੱਤੀ ਪੁੱਛਗਿੱਛ ਵਿੱਚ ਇੱਕ ਅਸਥਾਈ ਸਾਰਣੀ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਬਜਾਏ:
ਤੁਸੀਂ ਮੂਲ ਸਾਰਣੀ ਤੋਂ ਸਿੱਧੇ ਪੁੱਛਗਿੱਛ ਲਈ ਪੁੱਛਗਿੱਛ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਸਕਦੇ ਹੋ।
MySQL ਕੌਂਫਿਗਰੇਸ਼ਨ ਨੂੰ ਫਾਈਨ-ਟਿਊਨ ਕਰੋ
ਸਿਸਟਮ ਸਰੋਤਾਂ ਦਾ ਵੱਧ ਤੋਂ ਵੱਧ ਲਾਭ ਉਠਾਉਣ ਅਤੇ ਆਪਣੀ ਐਪਲੀਕੇਸ਼ਨ ਦੀਆਂ ਲੋੜਾਂ ਨਾਲ ਇਕਸਾਰ ਹੋਣ ਲਈ MySQL ਨੂੰ ਮੁੜ ਸੰਰਚਿਤ ਕਰਨ 'ਤੇ ਵਿਚਾਰ ਕਰੋ। ਇਸ ਵਿੱਚ ਮੈਮੋਰੀ, ਬਫਰ ਆਕਾਰ, ਕੁਨੈਕਸ਼ਨ ਸੀਮਾਵਾਂ, ਅਤੇ ਹੋਰ ਮਾਪਦੰਡਾਂ ਦੀ ਸੰਰਚਨਾ ਸ਼ਾਮਲ ਹੈ। MySQL ਦਸਤਾਵੇਜ਼ਾਂ ਦਾ ਹਵਾਲਾ ਲਓ ਅਤੇ ਸਿੱਖੋ ਕਿ ਤੁਹਾਡੇ ਖਾਸ ਵਾਤਾਵਰਣ ਦੇ ਅਨੁਕੂਲ ਸੰਰਚਨਾ ਨੂੰ ਕਿਵੇਂ ਵਿਵਸਥਿਤ ਕਰਨਾ ਹੈ।
ਬੇਲੋੜਾ ਡੇਟਾ ਮਿਟਾਓ
ਡਾਟਾਬੇਸ ਦਾ ਆਕਾਰ ਘਟਾਉਣ ਅਤੇ ਪੁੱਛਗਿੱਛ ਦੀ ਗਤੀ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ ਬੇਲੋੜੇ ਡੇਟਾ ਨੂੰ ਮਿਟਾਓ ਜਾਂ ਪੁਰਾਣੇ ਡੇਟਾ ਦਾ ਬੈਕਅੱਪ ਲਓ।
ਉਦਾਹਰਨ ਲਈ, ਜੇਕਰ ਤੁਹਾਡੇ ਕੋਲ logs
ਪੁਰਾਣੇ ਲੌਗ ਰਿਕਾਰਡਾਂ ਨੂੰ ਸਟੋਰ ਕਰਨ ਵਾਲੀ ਸਾਰਣੀ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਹੇਠਾਂ ਦਿੱਤੀ ਪੁੱਛਗਿੱਛ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਸਾਲ ਤੋਂ ਪੁਰਾਣੇ ਰਿਕਾਰਡਾਂ ਨੂੰ ਮਿਟਾ ਸਕਦੇ ਹੋ:
ਮੈਮੋਰੀ ਦੀ ਵਰਤੋਂ ਕਰੋ cache
MySQL ਦੀ ਮੈਮੋਰੀ ਨੂੰ cache
ਅਕਸਰ ਚਲਾਈਆਂ ਗਈਆਂ ਪੁੱਛਗਿੱਛਾਂ ਅਤੇ ਹਾਲ ਹੀ ਵਿੱਚ ਐਕਸੈਸ ਕੀਤੇ ਡੇਟਾ ਨੂੰ ਸਟੋਰ ਕਰਨ ਲਈ ਕੌਂਫਿਗਰ ਕਰੋ। ਇਹ ਡਿਸਕ ਐਕਸੈਸ ਸਮਾਂ ਘਟਾਉਣ ਅਤੇ ਪੁੱਛਗਿੱਛ ਦੀ ਗਤੀ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ।
ਉਦਾਹਰਨ ਲਈ, 1GB ਦੇ ਆਕਾਰ ਦੇ ਨਾਲ ਇੱਕ ਮੈਮੋਰੀ ਕੈਸ਼ ਦੀ ਸੰਰਚਨਾ ਕਰਨ ਲਈ, ਤੁਸੀਂ MySQL ਦੀ "my.cnf" ਸੰਰਚਨਾ ਫਾਈਲ ਨੂੰ ਹੇਠਾਂ ਅਨੁਸਾਰ ਸੋਧ ਸਕਦੇ ਹੋ:
ਕਿਰਪਾ ਕਰਕੇ ਨੋਟ ਕਰੋ ਕਿ ਉਪਰੋਕਤ ਉਦਾਹਰਨਾਂ ਵਿਆਖਿਆਤਮਕ ਹਨ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਤੁਹਾਡੇ ਅਸਲ ਡੇਟਾਬੇਸ ਦੀ ਬਣਤਰ ਅਤੇ ਲੋੜਾਂ ਦੇ ਅਨੁਸਾਰ ਐਡਜਸਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ। ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਨ ਲਈ ਕਿ ਇਹ ਤੁਹਾਡੇ ਖਾਸ ਵਾਤਾਵਰਣ ਲਈ ਢੁਕਵੇਂ ਹਨ, ਇਹਨਾਂ ਅਨੁਕੂਲਨ ਤਕਨੀਕਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਅਤੇ ਬਾਅਦ ਵਿੱਚ ਪ੍ਰਭਾਵ ਦੀ ਧਿਆਨ ਨਾਲ ਜਾਂਚ ਅਤੇ ਮੁਲਾਂਕਣ ਕਰੋ।