ਸੰਭਾਲੇ ਕਾਰਜਵਿਧੀ ਉੱਚ ਕੁਸ਼ਲਤਾ ਅਤੇ ਸੁਰੱਖਿਆ ਲਾਭ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ
ਮਾਈਕਰੋਸਾਫਟ SQL ਸਰਵਰ ਪ੍ਰਬੰਧਨ ਯੋਗ ਬਲਾਕ ਵਿੱਚ ਟਰਾਂਸੈੱਕਟ-ਐਸਕਿਏਲ ਸਟੇਟਮੈਂਟਾਂ ਨੂੰ ਵੰਡ ਕੇ ਡਾਟਾਬੇਸ ਵਿਕਾਸ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਸਰਲ ਬਣਾਉਣ ਲਈ ਸਟੋਰੀ ਪ੍ਰਕਿਰਿਆ ਵਿਧੀ ਦਿੰਦਾ ਹੈ. ਸੰਭਾਲੇ ਪ੍ਰਕਿਰਿਆਵਾਂ ਦੀ ਸ਼ਲਾਘਾ ਬਹੁਤ ਸਾਰੇ SQL ਸਰਵਰ ਡਿਵੈਲਪਰਾਂ ਦੁਆਰਾ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਜੋ ਉਹਨਾਂ ਨੂੰ ਪ੍ਰਾਪਤ ਕੀਤੀ ਕੁਸ਼ਲਤਾ ਅਤੇ ਸੁਰੱਖਿਆ ਲਾਭ ਪ੍ਰਾਪਤ ਕਰਦੇ ਹਨ, ਸਮੇਂ ਦੇ ਨਾਲ ਨਾਲ ਨਿਵੇਸ਼ ਲਈ ਚੰਗੀ ਕੀਮਤ ਦੇ ਹੁੰਦੇ ਹਨ
ਸੰਭਾਲਿਆ ਪ੍ਰਕਿਰਿਆ ਦਾ ਇਸਤੇਮਾਲ ਕਰਨ ਦੇ ਲਾਭ
ਇੱਕ ਡਿਵੈਲਪਰ ਸਟੋਰ ਕੀਤੀਆਂ ਪ੍ਰਕਿਰਿਆਵਾਂ ਦੀ ਵਰਤੋਂ ਕਿਉਂ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ?
ਇਸ ਤਕਨੀਕ ਦੇ ਮੁੱਖ ਫਾਇਦੇ ਇਹ ਹਨ:
- ਪ੍ਰੀਕੰਪਿਲ ਕੀਤੇ ਐਗਜ਼ੀਕਿਊਸ਼ਨ: SQL ਸਰਵਰ ਹਰੇਕ ਸਟੋਰੀ ਪਰਿਕਿਰਿਆ ਨੂੰ ਇੱਕ ਵਾਰ ਕੰਪਾਇਲ ਕਰਦਾ ਹੈ ਅਤੇ ਫੇਰ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਪਲਾਨ ਨੂੰ ਮੁੜ ਤਿਆਰ ਕਰਦਾ ਹੈ. ਇਸ ਦੇ ਨਤੀਜੇ ਵੱਜੋਂ ਜ਼ਬਰਦਸਤ ਪ੍ਰਦਰਸ਼ਨ ਵਾਧਾ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਸਟੋਰ ਕੀਤੀਆਂ ਕਾਰਵਾਈਆਂ ਨੂੰ ਬਾਰ-ਬਾਰ ਕਿਹਾ ਜਾਂਦਾ ਹੈ.
- ਘਟੇ ਹੋਏ ਕਲਾਈਟ / ਸਰਵਰ ਟ੍ਰੈਫਿਕ: ਜੇ ਨੈੱਟਵਰਕ ਬੈਂਡਵਿਡਥ ਤੁਹਾਡੇ ਵਾਤਾਵਰਣ ਵਿੱਚ ਇੱਕ ਚਿੰਤਾ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਇਹ ਜਾਣ ਕੇ ਖੁਸ਼ੀ ਮਹਿਸੂਸ ਕਰੋਗੇ ਕਿ ਸਟੋਰ ਕੀਤੀਆਂ ਪ੍ਰਕਿਰਿਆਵਾਂ ਇੱਕ ਸਿੰਗਲ ਲਾਈਨ ਵਿੱਚ ਲੰਬੇ SQL ਕਵੇਰੀਆਂ ਨੂੰ ਘਟਾ ਸਕਦੀਆਂ ਹਨ ਜੋ ਕਿ ਵਾਇਰ ਤੇ ਪ੍ਰਸਾਰਿਤ ਹੁੰਦੀਆਂ ਹਨ.
- ਕੋਡ ਅਤੇ ਪਰੋਗਰਾਮਿੰਗ ਐਬਸਟਰੈਕਸ਼ਨ ਦੇ ਕੁਸ਼ਲ ਮੁੜ ਵਰਤੋਂ: ਸਟੋਰ ਕੀਤੀਆਂ ਪ੍ਰਕਿਰਿਆਵਾਂ ਨੂੰ ਬਹੁਤੇ ਉਪਭੋਗਤਾਵਾਂ ਅਤੇ ਕਲਾਈਂਟ ਪ੍ਰੋਗਰਾਮਾਂ ਦੁਆਰਾ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ. ਜੇ ਤੁਸੀਂ ਉਨ੍ਹਾਂ ਨੂੰ ਯੋਜਨਾਬੱਧ ਤਰੀਕੇ ਨਾਲ ਵਰਤਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਪਤਾ ਲੱਗੇਗਾ ਕਿ ਵਿਕਾਸ ਦੇ ਚੱਕਰ ਨੂੰ ਘੱਟ ਸਮਾਂ ਲੱਗਦਾ ਹੈ.
- ਵਧੀਕ ਸੁਰੱਖਿਆ ਨਿਯੰਤਰਣ: ਤੁਸੀਂ ਉਪਭੋਗਤਾ ਨੂੰ ਇੱਕ ਸਟੋਰੇਜ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਅੰਡਰਲਾਈੰਗ ਟੇਬਲ ਅਨੁਮਤੀਆਂ ਦੇ ਸੁਤੰਤਰ ਰੂਪ ਵਿੱਚ ਚਲਾਉਣ ਲਈ ਅਨੁਮਤੀ ਦੇ ਸਕਦੇ ਹੋ.
ਸਟੋਰ ਕੀਤੀਆਂ ਪ੍ਰਕਿਰਿਆਵਾਂ ਉਪਭੋਗਤਾ ਦੁਆਰਾ ਪ੍ਰਭਾਸ਼ਿਤ ਫੰਕਸ਼ਨਾਂ ਦੇ ਸਮਾਨ ਹਨ, ਪਰ ਸੂਖਮ ਅੰਤਰ ਹਨ
ਢਾਂਚਾ
ਸਟੋਰ ਕੀਤੀਆਂ ਪ੍ਰਕਿਰਿਆਵਾਂ ਦੂਜੇ ਪ੍ਰੋਗਰਾਮਾਂ ਦੀ ਭਾਸ਼ਾ ਵਿੱਚ ਦੇਖੇ ਗਏ ਹਨ.
ਉਹ ਇੰਪੁੱਟ ਪੈਰਾਮੀਟਰ ਦੇ ਰੂਪ ਵਿੱਚ ਡੇਟਾ ਨੂੰ ਸਵੀਕਾਰ ਕਰਦੇ ਹਨ ਜੋ ਕਿ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਟਾਈਮ ਤੇ ਨਿਰਦਿਸ਼ਟ ਹਨ. ਇਹ ਇਨਪੁਟ ਪੈਰਾਮੀਟਰ (ਜੇ ਲਾਗੂ ਕੀਤੇ ਗਏ ਹਨ) ਦਾ ਕੁਝ ਨਤੀਜਾ ਨਿਕਲਦਾ ਹੈ ਜੋ ਕੁਝ ਨਤੀਜੇ ਦਿੰਦਾ ਹੈ. ਇਹ ਨਤੀਜਾ ਰਿਕਾਰਡਾਂ, ਆਊਟਪੁੱਟ ਪੈਰਾਮੀਟਰਾਂ ਅਤੇ ਰਿਟਰਨ ਕੋਡ ਦੇ ਉਪਯੋਗ ਰਾਹੀਂ ਕਾਲਿੰਗ ਵਾਤਾਵਰਣ ਨੂੰ ਵਾਪਸ ਕਰ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ.
ਇਹ ਇੱਕ ਮੂੰਹ ਵਾਂਗ ਆਵਾਜ਼ ਹੋ ਸਕਦਾ ਹੈ, ਪਰ ਤੁਸੀਂ ਦੇਖੋਗੇ ਕਿ ਸਟੋਰ ਕੀਤੀਆਂ ਕਾਰਵਾਈਆਂ ਅਸਲ ਵਿੱਚ ਬਹੁਤ ਹੀ ਸਧਾਰਨ ਹੁੰਦੀਆਂ ਹਨ.
ਉਦਾਹਰਨ
ਆਉ ਇਸ ਪੇਜ ਦੇ ਸਭ ਤੋਂ ਹੇਠਾਂ ਦਿਖਾਈ ਗਈ ਸੂਚੀ ਨਾਮ ਨਾਲ ਸੂਚੀਬੱਧ ਸਾਰਣੀ ਨਾਲ ਸੰਬੰਧਿਤ ਇੱਕ ਵਿਹਾਰਕ ਉਦਾਹਰਨ 'ਤੇ ਝਾਤੀ ਮਾਰੀਏ. ਇਹ ਜਾਣਕਾਰੀ ਰੀਅਲ ਟਾਈਮ ਵਿੱਚ ਅਪਡੇਟ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਅਤੇ ਵੇਅਰਹਾਊਸ ਮੈਨੇਜਰ ਲਗਾਤਾਰ ਉਨ੍ਹਾਂ ਦੇ ਵੇਅਰਹਾਊਸ ਤੇ ਸਟੋਰ ਕੀਤੇ ਗਏ ਉਤਪਾਦਾਂ ਦੇ ਪੱਧਰਾਂ ਦੀ ਜਾਂਚ ਕਰਦੇ ਹਨ ਅਤੇ ਭੇਜਣ ਲਈ ਉਪਲਬਧ ਹਨ. ਅਤੀਤ ਵਿੱਚ, ਹਰੇਕ ਮੈਨੇਜਰ ਹੇਠ ਦਿੱਤੇ ਵਾਂਗ ਪੁੱਛਗਿੱਛ ਚਲਾਉਂਦਾ ਸੀ:
SELECT ਉਤਪਾਦ, ਗਿਣਤੀ
ਵਸਤੂਆਂ ਤੋਂ
WHERE Warehouse = 'FL'
ਇਸ ਦਾ ਨਤੀਜਾ SQL ਸਰਵਰ ਤੇ ਅਕੁਸ਼ਲ ਕਾਰਗੁਜ਼ਾਰੀ ਦਾ ਨਤੀਜਾ ਹੈ. ਹਰ ਵਾਰ ਵੇਅਰਹਾਊਸ ਮੈਨੇਜਰ ਦੁਆਰਾ ਪੁੱਛਗਿੱਛ ਕੀਤੀ ਗਈ, ਡਾਟਾਬੇਸ ਸਰਵਰ ਨੂੰ ਬੇਨਤੀ ਨੂੰ ਮੁੜ ਕੰਪਾਇਲ ਕਰਨ ਅਤੇ ਇਸਨੂੰ ਸਕ੍ਰੈਚ ਤੋਂ ਚਲਾਉਣ ਲਈ ਮਜਬੂਰ ਕੀਤਾ ਗਿਆ ਸੀ. ਇਸ ਵਿੱਚ ਐਸੋਸੀਏਸ਼ਨ ਦਾ ਗਿਆਨ ਰੱਖਣ ਅਤੇ ਵੇਚਣ ਲਈ ਪ੍ਰਬੰਧਕ ਦੀ ਲੋੜ ਸੀ ਅਤੇ ਸਾਰਣੀ ਵਿੱਚ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਸਹੀ ਅਨੁਮਤੀਆਂ.
ਇਸ ਦੀ ਬਜਾਏ, ਇਸ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਇੱਕ ਸਟੋਰੀ ਪ੍ਰਕਿਰਿਆ ਦੇ ਉਪਯੋਗ ਦੁਆਰਾ ਸਰਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ. ਇੱਥੇ sp_GetInventory ਨਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਲਈ ਕੋਡ ਹੈ ਜੋ ਕਿਸੇ ਦਿੱਤੇ ਗਏ ਵੇਅਰਹਾਊਸ ਲਈ ਵਸਤੂ ਦੇ ਪੱਧਰ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ.
ਪ੍ਰਕਿਰਿਆ ਬਣਾਓ SP_GetInventory
@location varchar (10)
AS
SELECT ਉਤਪਾਦ, ਗਿਣਤੀ
ਵਸਤੂਆਂ ਤੋਂ
WHERE ਵੇਅਰਹਾਊਸ = @location
ਫਲੋਰੀਡਾ ਵੇਅਰਹਾਊਸ ਮੈਨੇਜਰ ਫਿਰ ਕਮਾਂਡ ਜਾਰੀ ਕਰਕੇ ਵਸਤੂ ਪੱਧਰ ਤੱਕ ਪਹੁੰਚ ਸਕਦਾ ਹੈ:
EX_GetInventory 'FL' ਨੂੰ EXECUTE
ਨਿਊਯਾਰਕ ਦੇ ਵੇਅਰਹਾਊਸ ਮੈਨੇਜਰ ਉਸ ਖੇਤਰ ਦੀ ਸੂਚੀ ਨੂੰ ਐਕਸੈਸ ਕਰਨ ਲਈ ਇੱਕੋ ਸਟੋਰੀ ਪ੍ਰਕਿਰਿਆ ਦਾ ਉਪਯੋਗ ਕਰ ਸਕਦਾ ਹੈ:
EX_US_GetInventory 'NY' ਨੂੰ ਪ੍ਰਵਾਨ ਕਰੋ
ਇਹ ਸੱਚ ਹੈ ਕਿ ਇਹ ਇੱਕ ਸਧਾਰਨ ਉਦਾਹਰਨ ਹੈ, ਪਰ ਅਬਸਟਰੈਕਸ਼ਨ ਦੇ ਲਾਭਾਂ ਨੂੰ ਇੱਥੇ ਵੇਖਿਆ ਜਾ ਸਕਦਾ ਹੈ. ਵੇਅਰਹਾਊਸ ਮੈਨੇਜਰ ਨੂੰ SQL ਜਾਂ ਪ੍ਰਕ੍ਰਿਆ ਦੇ ਅੰਦਰੂਨੀ ਕੰਮ ਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ. ਕਾਰਗੁਜ਼ਾਰੀ ਦੇ ਦ੍ਰਿਸ਼ਟੀਕੋਣ ਤੋਂ, ਸਟੋਰੀ ਪ੍ਰਕਿਰਿਆ ਨੇ ਅਚੰਭੇ ਦੀ ਵਰਤੋਂ ਕੀਤੀ. SQL ਸਰਵਰ ਇੱਕ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਪਲਾਨ ਇੱਕ ਵਾਰ ਬਣਾਉਂਦਾ ਹੈ ਅਤੇ ਫੇਰ ਉਸਨੂੰ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਟਾਈਮ ਵਿੱਚ ਢੁਕਵੇਂ ਪੈਰਾਮੀਟਰਾਂ ਵਿੱਚ ਪਲਗਿੰਗ ਕਰਕੇ ਇਸਨੂੰ ਮੁੜ ਦੁਹਰਾਉਂਦਾ ਹੈ.
ਹੁਣ ਤੁਸੀਂ ਸਟੋਰ ਕੀਤੀਆਂ ਗਈਆਂ ਪ੍ਰਕਿਰਿਆਵਾਂ ਦੇ ਲਾਭਾਂ ਨੂੰ ਸਿੱਖ ਲਿਆ ਹੈ, ਇੱਥੇ ਆਉ ਅਤੇ ਉਹਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ
ਕੁਝ ਉਦਾਹਰਣਾਂ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ ਅਤੇ ਮਿਲੇ ਪ੍ਰਦਰਸ਼ਨ ਦੇ ਸੁਧਾਰ ਨੂੰ ਮਾਪੋ - ਤੁਸੀਂ ਹੈਰਾਨ ਹੋਵੋਗੇ!
ਇਨਵੈਂਟਰੀ ਟੇਬਲ
ID | ਉਤਪਾਦ | ਵੇਅਰਹਾਊਸ | ਗਿਣਤੀ |
142 | ਹਰੀ ਫਲੀਆਂ | NY | 100 |
214 | ਮਟਰ | FL | 200 |
825 | ਮਕਈ | NY | 140 |
512 | ਲੀਮਾ ਬੀਨਜ਼ | NY | 180 |
491 | ਟਮਾਟਰ | FL | 80 |
379 | ਤਰਬੂਜ | FL | 85 |