Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> SQL Server

SQL Server में INDEX (इंडेक्स)

SQL Server में Index - इंडेक्स क्या है?

इंडेक्सिंग रिकॉर्ड्स को तेजी से पुनः प्राप्त करने के लिए उपयोग की जाने वाली विधि है। इंडेक्स इंडेक्स किए गए कॉलम में दिखाई देने वाले प्रत्येक मान को इंगित करता है।

इंडेक्स बनाएं

सिंटैक्स

CREATE [UNIQUE] [CLUSTERED | NONCLUSTERED] INDEX index_name
ON table_name (column1 [ASC | DESC], ..., column_n [ASC | DESC])
[INCLUDE (column1, ..., column_n)]
[WHERE condition]
[WITH (PAD_INDEX = {ON | OFF}
    | FILLFACTOR = fillfactor
    | SORT_IN_TEMPDB = {ON | OFF}
    | IGNORE_DUP_KEY = {ON | OFF}
    | STATISTICS_NORECOMPUTE = {ON | OFF}
    | STATISTICS_INCREMENTAL = {ON | OFF}
    | DROP_EXISTING = {ON | OFF}
    | ONLINE = {ON | OFF}
    | ALLOW_ROW_LOCKS = {ON | OFF}
    | ALLOW_PAGE_LOCKS = {ON | OFF}
    | MAXDOP = max_degree
    | DATA_COMPRESSION = {NONE | PAGE | ROW})
[ON PARTITIONS ({number | range}]
[ON partition_scheme (column)
    | ON filegroup | ON default_filegroup]
[FILESTREAM_ON {filegroup | partition_scheme}];

UNIQUE: वैकल्पिक, इंडेक्स कॉलम में मानों के कॉम्बिनेशन को यूनिक होना दर्शाता है।
CLUSTERED: वैकल्पिक, तार्किक क्रम को दर्शाता है जो टेबल में पंक्तियों की भौतिक व्यवस्था निर्धारित करता है (यानी इंडेक्स में फील्ड द्वारा क्रमबद्ध टेबल में रिकॉर्ड्स का क्रम)।
NONCLUSTERED: वैकल्पिक, तार्किक क्रम को दर्शाता है जो टेबल में पंक्तियों की भौतिक व्यवस्था निर्धारित नहीं करता।
index_name: उस इंडेक्स का नाम जिसे आप बनाना चाहते हैं।
table_name: उस टेबल या व्यू का नाम जिस पर इंडेक्स बनाया जाता है।
column1, ..., column_n: वे कॉलम जिनसे इंडेक्स बनाया जाता है।
ASC | DESC: कॉलम में मानों के लिए सॉर्ट ऑर्डर।
INCLUDE (column1, ..., column_n): वैकल्पिक, वह कॉलम जो मुख्य कॉलम नहीं है जिसे नॉनक्लस्टर्ड इंडेक्स के लीफ लेवल में जोड़ा जाता है।
WHERE condition: वैकल्पिक, वह शर्त जो निर्धारित करती है कि कौन सी पंक्ति इंडेक्स में शामिल होगी।
ON partition_scheme (column): वैकल्पिक, पार्टिशन स्कीम को दर्शाता है जो फाइलग्रुप निर्धारित करता है जहां पार्टिशन मैप किया गया है।
ON filegroup: वैकल्पिक, दर्शाता है कि इंडेक्स निर्दिष्ट फाइलग्रुप पर बनाया जाएगा।
ON default_filegroup: वैकल्पिक, डिफ़ॉल्ट फाइलग्रुप को दर्शाता है।
FILESTREAM_ON {filegroup | partition_scheme}: वैकल्पिक, क्लस्टर्ड इंडेक्स के लिए FILESTREAM डेटा के स्थान को दर्शाता है।

SQL Server में इंडेक्स के उदाहरण

CREATE INDEX danhba_chimuc
ON danhba (ho);

इस उदाहरण में, हम danhba_chimuc नाम का एक इंडेक्स danhba पर बनाते हैं, जिसमें ho नाम का एक फील्ड शामिल है। एक से अधिक फील्ड का इंडेक्स भी बनाया जा सकता है जैसा कि नीचे उदाहरण में दिखाया गया है।

CREATE INDEX danhba_chimuc
ON danhba (ho, ten);

यह उदाहरण danhba में danhba_chimuc नाम का इंडेक्स बनाता है, जिसमें दो फील्ड्स, ho और ten शामिल हैं। चूंकि प्रत्येक आइटम के लिए ASC या DESC निर्दिष्ट नहीं है, इंडेक्स प्रत्येक फील्ड के लिए डिफ़ॉल्ट ऑर्डर (इन्क्रीमेंटल) के साथ बनाया जाता है। यदि आप डिसेंडिंग ऑर्डर चाहते हैं, तो आप निम्न कर सकते हैं।

CREATE INDEX danhba_chimuc
ON danhba (ho DESC, ten DESC);

उपरोक्त CREATE INDEX कमांड केवल पहले और अंतिम नाम के साथ danhba_chimuc बनाता है जो डिसेंडिंग ऑर्डर में क्रमबद्ध होते हैं।

यूनिक इंडेक्स का उदाहरण

CREATE UNIQUE INDEX danhba_chimucduynhat
ON danhba (ho, ten);

यह उदाहरण danhba_chimucduynhat नाम का एक इंडेक्स danhba पर बनाता है जिसमें पहला और अंतिम नाम शामिल हैं, और यह सुनिश्चित करता है कि इन दो फील्ड्स का कॉम्बिनेशन यूनिक है। एक यूनिक क्लस्टर्ड इंडेक्स बनाना संभव है ताकि टेबल में पंक्तियों का भौतिक क्रम इंडेक्स के तार्किक क्रम द्वारा तय किया जाए।

CREATE UNIQUE CLUSTERED INDEX danhba_chimucduynhat
ON danhba (ho, ten);

इस उदाहरण में नव निर्मित इंडेक्स का नाम danhba_chimucduynhat है जिसमें दो पहला और अंतिम नाम फील्ड्स हैं, और यह टेबल में पंक्तियों के सॉर्ट ऑर्डर को भी इसके अनुसार बदलता है।

SQL Server में इंडेक्स का नाम बदलें

सिंटैक्स

sp_rename 'table_name.old_index_name', 'new_index_name', 'INDEX';

table_name: उस टेबल का नाम जिस पर इंडेक्स बनाया गया है।
old_index_name: उस इंडेक्स का नाम जिसे आप नाम बदलना चाहते हैं।
new_index_name: इंडेक्स के लिए नया नाम।

उदाहरण

sp_rename 'danhba.danhba_chimuc', 'danhba_chimuc_ten', 'INDEX';

यह उदाहरण danhba टेबल में इंडेक्स का नाम danhba_chimuc से danhba_chimuc_ten में बदलता है।

SQL Server में इंडेक्स हटाएं

सिंटैक्स

DROP INDEX table_name.index_name;

table_name: उस टेबल का नाम जिस पर इंडेक्स बनाया गया है।
index_name: हटाने के लिए इंडेक्स का नाम।

उदाहरण

DROP INDEX danhba.danhba_chimuc;

यह उदाहरण danhba_chimuc नाम के इंडेक्स को हटाता है।

  1. - SQL Server में SUBSTRING फंक्शन

    विवरण SQL Server में SUBSTRING फंक्शन आपको इनपुट स्ट्रिंग में एक पोजीशन से शुरू होने वाली निर्दिष्ट लंबाई की सबस्ट्रिंग निकालने की अनुमति देता है। सिंटैक्स SQL Server में SUBSTRING फंक्शन का उपयोग करने के लिए, हम निम्न सिंटैक्स का उपयोग करते हैं: SUBSTRING(string, start, length) पैरामीटर्स: strin

  1. - SQL Server में PROCEDURE (स्टोर्ड प्रोसीजर)

    विवरण Procedure (स्टोर्ड प्रोसीजर) डेटाबेस में कई स्टेटमेंट्स का एक प्रोग्राम है जिसे आप बाद में उपयोग के लिए सेव करते हैं। SQL Server में, आप प्रोसीजर को पैरामीटर्स पास कर सकते हैं, हालांकि यह फंक्शन की तरह एक विशिष्ट मान नहीं लौटाता बल्कि सफल या विफल निष्पादन को इंगित करता है। यह लेख आपको SQL Serv

  1. - MS SQL Server क्या है?

    SQL Server क्या है? Microsoft द्वारा विकसित सॉफ़्टवेयर जो RDBMS पर आधारित है। यह एक ORDBMS (Object Relational Database Management System) भी है। एक स्वतंत्र प्लेटफ़ॉर्म। सॉफ़्टवेयर कमांड लाइन इंटरफेस और GUI इंटरफेस दोनों का उपयोग करता है। SQL भाषा समर्थन (पूर्व में SEQUEL - स्ट्रक्चर्ड इंग्लिश क्वे