Benefits of Indexing In Hindi

Benefits of Indexing In Hindi

एसक्यूएल टेबल में इंडेक्सिंग एक डेटाबेस अरेंजमेंट या डेटाबेस टेबल इनफार्मेशन ऑप्टिमाइज़ेशन मैनेजमेंट प्रोसेस है. जो सेकेंडरी स्टोरेज लोकेशन में डेटाबेस टेबल डाटा और इनफार्मेशन को प्रॉपर इंडेक्स कर यूजर को फ़ास्ट एक्सेस और रिट्रीवल में हेल्प करते है, जिससे डाटा टेबल डेटा मॉडिफिकेशन ऑपरेशन पर कम समय लगता है। एसक्यूएल में डेटाबेस में इंडेक्स एक डेटा स्टोरेज स्ट्रक्चर आर्डर है. जो भी डाटा एंड इनफार्मेशन एसक्यूएल डेटाबेस टेबल में स्टोर किया जाता है। वह इंडेक्स हो कर डेटाबेस यूजर की जरूरत के अनुसार फ़ास्ट एक्सेस और डिस्प्ले होता है. डेटाबेस टेबल इंडेक्सिंग से डेटाबेस क्वेरी क्राइटेरिया के अकॉर्डिंग रिक्वायर्ड डाटा रौस और कॉलम को इम्मेडिएटली सर्च कर प्रीव्यू कर सकते है।

Benefits of Indexing In Hindi

The main benefits of indexing in SQL table are as follows.

Query performance (read operation) in fast SQL table.

एसक्यूएल टेबल में इंडेक्सिंग का सबसे इम्पोर्टेन्ट एडवांटेज फ़ास्ट डाटा टेबल क्वेरी परफॉरमेंस इम्प्रोवेंमेंट है। इंडेक्सिंग मौजूदा डेटाबेस डेटा प्रोसेसिंग रिट्रीवल ऑपरेशन को इम्प्रूव कर फ़ास्ट करते हैं. स्पेशल सर्च क्राइटेरिया में मल्टीप्ल क्लॉज़ के रूप से WHERE, JOIN, ORDER BY और GROUP BY क्लॉज़ वाली SELECT क्वेरी के लिए डाटा को इमीडियेट रिट्रीव किया जाता है।

  • Faster Searching – एसक्यूएल डेटाबेस टेबल में इंडेक्सिंग के बिना, मौजूदा डेटाबेस को क्वेरी कंडीशन मैच के लिए मैचिंग सर्च के लिए इंडिविजुअल रौ को एक-एक करके मैन्युअल चेक करते हुए, कम्पलीट टेबल को मैन्युअल स्कैन करना होगा। इंडेक्सिंग फीचर्स के साथ, सर्च क्वेरी डेटाबेस से सीधे सर्च डाटा क्वेरी पर मूव कर सकता है. जिससे आप ओनली रिक्वायर्ड सर्च क्वेरी रिट्रीव करते है।
  • Efficient Sorting – एसक्यूएल टेबल में इंडेक्सिंग से डेटा को फास्टली सॉर्ट कर अरेंज किया जा सकता हैं, विशेष रूप से, जब क्वेरी में ORDER BY क्लॉज़ का उपयोग किया जाता है। यदि एसक्यूएल टेबल में सॉर्टिंग के लिए इंडेक्स किए गए कॉलम का उपयोग किया जाता है, तो डेटाबेस पूरे डेटासेट पर सॉर्ट ऑपरेशन कर सिर्फ जरूरत के ही डेटाबेस क्वेरी इन्फर्मेशन को ऑप्टिमाइज़ कर एक्सट्रेक्ट कर सकता है।

Example in SQL table.

लार्ज डेटाबेस टेबल में बड़ी सांख्य वाली एक टेबल employe टेबल में, और आप अक्सर employee_id के आधार पर क्वेरी करते हैं। जहा employe_id पर इंडेक्सिंग करने से क्वेरी पूरी टेबल को स्कैन किए बिना जल्दी से सर्च क्वेरी से मिलने वाली डिजायर रौ को फाइंड करती है।

SELECT * FROM employe WHERE employee_id = 1001;

यहाँ इंडेक्सिंग के बिना, यह क्वेरी employe टेबल में सभी रौस को मैन्युअल स्कैन करेगी। जबकि इंडेक्सिंग के साथ, यह सीधे employe_id = 1001 से मिलने वाली रौ को सर्च कर डिस्प्ले करती है।

Improved performance for joins in SQL tables.

एसक्यूएल डेटाबेस टेबल में इंडेक्सिंग जॉइन टेबल डेटाबेस ऑपरेशन के परफॉरमेंस   को सरल कर काफी हद तक फ़ास्ट स्टोरेज एक्सेस और रिट्रीवल प्रोसेस को बेहतर बना सकते हैं, विशेष तोर पर जब आप एक बड़ी डेटाबेस टेबल को डील कर रहे है।

  • Optimized joins in SQL tables – एसक्यूएल डेटाबेस टेबल में इंडेक्सिंग किए गए टेबल कॉलम पर टेबल के बीच जॉइन करते समय, डेटाबेस दोनों टेबल को पूरी तरह से स्कैन करने के बजाय, अधिक कुशलता से मेल मैच होने वाली रौस को सर्च करने के लिए इंडेक्सिंग का उपयोग करता है।

Join index example in SQL table.

यहाँ माना कि आप department_id के आधार पर दो अलग अलग employe और department टेबल को ज्वाइन करने जा रहे हैं.

SELECT e.name, d.department_name

FROM employe e

JOIN department d ON e.department_id = d.department_id;

यहाँ यदि employe.department_id और department.department_id दोनों टेबल इंडेक्स हैं, तो डेटाबेस इंडेक्स का इस्तेमाल करके दो टेबल के बीच की रौस को जल्दी से ज्वाइन कर सकते है, जिससे दोनों टेबल के जॉइन परफॉरमेंस इम्प्रूव होता है।

Fast aggregation and grouping in SQL database table.

एसक्यूएल डेटाबेस टेबल में इंडेक्सिंग और सॉर्टिंग से एग्रीगेशन और ग्रुपिंग डेटाबेस ऑपरेशन को फ़ास्ट और स्मूथली ऑपरेट कर सकते हैं. जैसे, डेटाबेस एग्रीगेशन ऑपरेशन में न्यूमेरिक टेबल कॉलम में COUNT(), SUM(), AVG(), MIN(), MAX(), फंक्शन और GROUP BY क्लॉज़ का उपयोग कर सकते है।

  • Efficient aggregation – यहाँ यदि किसी एसक्यूएल डेटाबेस टेबल में एग्रीगेशन या ग्रुपिंग में इन्क्लूड कॉलम में इंडेक्सिंग अप्लाई है, तो डेटाबेस इंडेक्स मेथड का उपयोग कर डेटा को जल्दी से समराईज कर सकता है।
  • Reduced scan time – एसक्यूएल डेटाबेस टेबल में इंडेक्सिंग से डेटाबेस को अनावश्यक टेबल रौस को इगनोर और एग्रीगेशन के लिए केवल सर्च रिलेटेड रौस पर फोकस करने में हेल्प करता है।

Faster aggregation and grouping example.

यहाँ एम्प्लोयी टेबल एक क्वेरी है, जो प्रत्येक डिपार्टमेंट में एम्प्लोयी के टोटल सैलरी को कैलकुलेट करती है.

SELECT department_id, SUM(salary)

FROM employe

GROUP BY department_id;

यहाँ इस क्वेरी में department_id पर एक इंडेक्स डेटाबेस को टोटल एम्प्लोयी टेबल को स्कैन किए बिना department_id द्वारा एम्प्लोयी को जल्दी से ग्रुप करने में हेल्प करेगा।

Improved performance for range queries in SQL database tables.

एसक्यूएल डेटाबेस टेबल में इंडेक्सिंग स्पेशली रूप से रेंज क्वेरी के लिए उपयोग कर सकते हैं. जैसे, BETWEEN, <, >, >=, और <= , जिससे एसक्यूएल डेटाबेस टेबल में एडवांस्ड क्वेरी रिजल्ट को फास्टली रिट्रीव कर सकते है।

  • Range queries – यदि आप किसी एसक्यूएल डेटाबेस टेबल में कई बार वैल्यूज की एक स्पेसिफिक रेंज के अंदर डेटा क्वेरी ट्राय करते हैं. जैसे, 30,000 और 50,000 के अंदर सैलरी वाले एम्प्लोयी को सर्च करना है, तो आप एसक्यूएल डेटाबेस टेबल में एक इंडेक्सिंग टेबल में टोटल रौस को स्कैन किए बिना रौस की डायरेक्ट रिलेटेड रेंज को इमीडियेट सर्च और एक्सेस कर सकते है।

Improved performance for range queries Example.

किसी एसक्यूएल डेटाबेस टेबल में यदि आप 45,000 और 70,000 के बीच सैलरी  वाले एम्प्लोयी रौस लिस्ट को रिट्रीव करना चाहते हैं.

SELECT * FROM employe

WHERE salary BETWEEN 45000 AND 70000;

एसक्यूएल डेटाबेस टेबल में सैलरी कॉलम में एक इंडेक्सिंग के साथ, डेटाबेस एक टोटल टेबल स्कैन करने की तुलना में मिलान वाली रौस को सर्च करने और रिट्रीव करने के लिए इंडेक्सिंग का उपयोग कर सकते है।

Advanced uniqueness enforcement in SQL database tables.

एसक्यूएल डेटाबेस टेबल में इंडेक्सिंग टेबल में यूनिकनेस कर यूनिक डाटा स्टोरेज को अप्लाई करता हैं. जो डेटा इंटीग्रिटी को बनाए रखने में हेल्प करता है। यहाँ एक यूनिक इंडेक्सिंग को डिफाइन करता है कि एसक्यूएल डेटाबेस टेबल में कोई भी दो टेबल रौस इंडेक्स कॉलम में समान रिकॉर्ड वाली वैल्यू को स्टोर नहीं करती हैं।

  • Primary keys and unique constraints – एसक्यूएल डेटाबेस टेबल में जब आप किसी कॉलम पर प्राइमरी कीस या यूनिक हर्डल डिफाइन करता हैं. जहा उस कॉलम में ऑटोमेटिकली रूप से एक इंडेक्सिंग क्रिएट किया जाता है। यह सुनिश्चित करता है कि उस कॉलम में कोई डुप्लिकेट टेबल रिकॉर्ड वैल्यू स्टोर नहीं होगी।
  • Faster checking for uniqueness – एसक्यूएल डेटाबेस टेबल में डेटाबेस INSERT या UPDATE टेबल ऑपरेशन करते समय एफ्फिसेंटली चेक करने के लिए इंडेक्सिंग को अप्लाई कर चेक कर सकते है कि मौजूदा टेबल में कोई वैल्यू पहले से मौजूद है, या नहीं है।

Advanced uniqueness enforcement example.

यदि आप एसक्यूएल डेटाबेस टेबल में employe_id कॉलम पर एक प्राइमरी कीस डिफाइन करते हैं. तो डेटाबेस ऑटोमेटिकली रूप से एक यूनिक इंडेक्स बनाएगा ताकि यह सुनिश्चित हो सके कि किसी भी दो एम्प्लोयी का employe_id वैल्यू एक जैसा नहीं हो।

CREATE TABLE employe (

employee_id INT PRIMARY KEY,

name VARCHAR(120),

salary DECIMAL

);

Improved performance for sorting in SQL database tables.

एसक्यूएल डेटाबेस टेबल में जब आपको टेबल डेटाबेस को सॉर्ट करने की जरूरत होती है, तो डेटाबेस टेबल सॉर्टिंग डाटा इंडेक्सिंग परफॉरमेंस में एडवांस इम्प्रोवेंमेंट करती हैं।

  • ORDER BY Optimization – यदि किसी एसक्यूएल डेटाबेस टेबल में क्वेरी में ORDER BY क्लॉज़ मौजूद है, जो किसी इंडेक्स किए गए कॉलम से मैच होता है, तो डेटाबेस रौस को अलग से सॉर्ट किए बिना डायरेक्ट इंडेक्स से सॉर्ट किए गए आर्डर में रिटर्न कर सकता है।

Improved performance for sorting example.

यदि आपके मौजूदा एसक्यूएल डेटाबेस टेबल में पास employe_id कॉलम पर इंडेक्सिंग अप्लाई है, और आप निम्न टेबल क्वेरी एक्सेक्यूट करते हैं.

SELECT * FROM employe

ORDER BY employee_id;

यहाँ मौजूदा एसक्यूएल डेटाबेस टेबल में डेटाबेस इंडेक्स से डायरेक्ट आर्डर में रौस को रिट्रीव कर सकता है, जिससे क्वेरी टोटल टेबल पर सॉर्ट ऑपरेशन करने की तुलना में बहुत फ़ास्ट परफॉर्म करती है।

Optimized full-text search in SQL database tables.

किसी एसक्यूएल डेटाबेस टेबल में टेक्स्ट-बेस्ड कॉलम जैसे, VARCHAR या TEXT के लिए, आप फुल-टेक्स्ट इंडेक्सिंग क्रिएट कर सकते हैं. जो फ़ास्ट टेक्स्ट सर्च को इनेबल करते हैं।

  • Full-text search – एसक्यूएल डेटाबेस टेबल में फुल-टेक्स्ट इंडेक्सिंग डेटाबेस को टेक्स्ट डेटा पर फ़ास्ट सर्च करने में हेल्प करता है, इसे टोकन वर्ड्स में ब्रेक कर उन्हें स्ट्रक्चर तरीके से स्टोरेज करके जिसे फास्टली एक्सेस किया जा सकता है।
  • Efficient search – एसक्यूएल डेटाबेस टेबल में फुल-टेक्स्ट इंडेक्सिंग के बिना, बड़े टेक्स्ट फ़ील्ड पर सर्चिंग बहुत स्लो हो सकती है, क्योंकि डेटाबेस को मैच करने वाले टेक्स्ट के लिए प्रत्येक रौ को स्कैन करने की जरूरत होगी।

SQL database tables example.

माना कि आपके पास डिस्क्रिप्शन कॉलम वाली एक प्रोडक्ट टेबल है, और आप उनके डिस्क्रिप्शन में “tablet” वर्ड वाले प्रोडक्ट को सर्च करना चाहते हैं। जहा डिस्क्रिप्शन कॉलम पर एक कम्पलीट-टेक्स्ट इंडेक्सिंग इस क्वेरी को फ़ास्ट करेगी।

SELECT * FROM product

WHERE MATCH(description) AGAINST (‘tablet’);

Supporting foreign key constraints in SQL database tables.

एसक्यूएल डेटाबेस टेबल में इंडेक्सिंग अक्सर उन कॉलम में ऑटोमेटिकली क्रिएट किये जाते हैं, जो फॉरेन कीस रिलेशन में मौजूद होते हैं, जो डेटाबेस रेफ़्रेन्स इंटीग्रिटी टेस्ट के लिए परफॉरमेंस में इम्प्रोवेंमेंट करते हैं।

  • Faster foreign key checks – जब आप किसी पैरेंट टेबल में रिकॉर्ड अपडेट करते या हटाते हैं, तो डेटाबेस में फॉरेन कीस कॉलम पर इंडेक्सिंग का उपयोग यह जाँचने के लिए कर सकता है कि रेफ़्रेन्स टेबल में कोई चाइल्ड रौस मौजूद हैं या नहीं, जिससे ये ऑपरेशन तेज़ और अधिक एफ्फिसिएंट हो जाते हैं।

Foreign key constraints example.

जब आप डिपार्टमेंट टेबल से कोई डिपार्टमेंट हटाते हैं, तो यह डेटाबेस जाँचता है कि डिपार्टमेंट से संबद्ध एम्प्लोयी टेबल में कोई एम्प्लोयी है या नहीं। यदि एम्प्लोयी टेबल में department_id कॉलम पर कोई इंडेक्सिंग मौजूद है, तो डेटाबेस इस जाँच को अधिक एफ्फिसेंटली कर सकता है.