CREATE INDEX
In this page:
CREATE [UNIQUE] INDEX index_name
ON table_name (column1[, column2]);
एक Index क्या है?
एक index एक अलग data structure है जिसे MySQL specific columns पर lookups को कहीं ज़्यादा तेज़ बनाने के लिए table के साथ maintain करता है, conceptually किसी textbook के पीछे के index जैसा काम करते हुए जो आपको पूरी book scan करने पर मजबूर करने के बजाय सीधे एक page पर point करता है।
उदाहरण: What is an Index?
CREATE TABLE users (id INT, email TEXT);
CREATE INDEX idx_email ON users (email);
एक UNIQUE Index बनाना
एक UNIQUE index double duty करता है: यह indexed column पर lookups को उतना ही तेज़ बनाता है जितना एक normal index करता, साथ ही यह enforce भी करता है कि कोई दो rows उस column में same value store न कर पाएँ।
उदाहरण: Creating a UNIQUE Index
CREATE TABLE users (id INT, email TEXT);
CREATE UNIQUE INDEX idx_unique_email ON users (email);
एक Composite Index बनाना
एक composite index एक साथ कई columns span करता है और सबसे effective तब होता है जब queries उन same columns को साथ filter करती हैं, index definition में जिस order में वे दिखते हैं उसी order में।
उदाहरण: Creating a Composite Index
CREATE TABLE orders (id INT, customer_id INT, order_date DATE);
CREATE INDEX idx_customer_date ON orders (customer_id, order_date);
ALTER TABLE इस्तेमाल करके Indexes Add करना
आप सिर्फ किसी table के पहली बार बनते समय indexes define करने तक limited नहीं हैं — ALTER TABLE आपको एक ऐसी table में एक index add करने देता है जो पहले से exist करती है और पहले से data रखती है।
उदाहरण: Adding Indexes Using ALTER TABLE
CREATE TABLE products (id INT, sku TEXT);
INSERT INTO products VALUES (1, 'SKU123');
ALTER TABLE products ADD INDEX idx_sku (sku);
Prefix Text Parts Index करना
बहुत लंबे text columns के लिए, सिर्फ पहले कई characters index करना (एक prefix index) index को छोटा और तेज़ रखता है साथ ही अभी भी ज़्यादातर searches को तेज़ करता है, थोड़ी precision को एक बड़ी storage savings के लिए trade करते हुए।
उदाहरण: Indexing Prefix Text Parts
CREATE TABLE articles (id INT, title VARCHAR(255));
CREATE INDEX idx_title_prefix ON articles (title(20));
- बिना prefix length के एक
TEXTcolumn index करना, जैसे(email(100)), जोBLOB/TEXT column used in key specification without a key lengthके साथ fail होता है। - हर column में एक index add करना, जो
INSERT,UPDATE, औरDELETEधीमा करता है और storage बर्बाद करता है। - एक composite index को गलत column order में बनाना, ताकि सिर्फ दूसरे column पर filter करने वाली queries इसे इस्तेमाल न कर सकें।
Chapter Quiz — Complete all 5 topics to unlock
0/5 topics done
Complete these topics first: