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

क्या MySQL में फंक्शन-बेस्ड इंडेक्स बनाना संभव है

फंक्शन-बेस्ड इंडेक्स MySQL 5.6 से नीचे के संस्करणों में संभव नहीं था। सबसे पहले, MySQL में फंक्शन-बेस्ड इंडेक्स बनाने के लिए, हम एक टेबल बनाएंगे।

mysql> create table FunctionIndexDemo 
-> ( 
-> FirstName varchar(100) 
-> ); 
Query OK, 0 rows affected (0.70 sec)

आइए फंक्शन बेस्ड इंडेक्स बनाने का सिंटैक्स देखते हैं।

create index index_name on yourTableName (column_name(IntegerSize));

यहां क्वेरी है।

mysql> create index indFirstName on FunctionIndexDemo (FirstName(6)); 
Query OK, 0 rows affected (0.56 sec) 
Records: 0 Duplicates: 0 Warnings: 0

जांचने के लिए कि इंडेक्स मौजूद है या नहीं।

mysql> SHOW INDEX FROM FunctionIndexDemo;

यहां आउटपुट है।

+-------------------+------------+--------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+ 
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | 
+-------------------+------------+--------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+ 
| functionindexdemo | 1 | indFirstName | 1 | FirstName | A | 0 | 6 | NULL | YES | BTREE | | | YES | 
+-------------------+------------+--------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+ 
1 row in set (0.24 sec)
स्पष्टीकरण: FirstName(6) एक प्रीफिक्स इंडेक्स बनाता है (पहले 6 वर्णों को इंडेक्स करता है), पूर्ण फंक्शन-बेस्ड इंडेक्स नहीं। MySQL 8.0+ फंक्शनल इंडेक्स (जिसे जनरेटेड कॉलम इंडेक्स भी कहा जाता है) का समर्थन करता है: ALTER TABLE t ADD COLUMN name_upper VARCHAR(100) GENERATED ALWAYS AS (UPPER(name)) VIRTUAL, ADD INDEX (name_upper);। यह UPPER(name), JSON_EXTRACT, आदि जैसे व्यंजकों पर इंडेक्सिंग की अनुमति देता है।
  1. - MySQL में KEY() का उपयोग करके तीन कॉलम का इंडेक्स कैसे बनाएं?

    MySQL में बहु-कॉलम (संयुक्त) इंडेक्स बनाना MySQL में, आप KEY() क्लॉज (या INDEX) का उपयोग करके टेबल निर्माण के दौरान एक संयुक्त इंडेक्स (बहु-कॉलम इंडेक्स) परिभाषित कर सकते हैं। यह उन क्वेरी के लिए प्रदर्शन में सुधार करता है जो उन कॉलम पर फ़िल्टर या जॉइन करती हैं। उदाहरण: 3-कॉलम संयुक्त इंडेक्स DESC

  1. - MySQL में ALTER TABLE DROP INDEX का उपयोग करके टेबल से इंडेक्स हटाना

    MySQL में इंडेक्स हटाना: ALTER TABLE DROP INDEX MySQL टेबल से मौजूदा इंडेक्स हटाने के लिए, इंडेक्स नाम के साथ ALTER TABLE ... DROP INDEX स्टेटमेंट का उपयोग करें। उदाहरण: इंडेक्स बनाना और हटाना DESC DemoTable1469; +-------------+-------------+------+-----+---------+----------------+ | Field |

  1. - MySQL कम्पोजिट इंडेक्स: एकाधिक कॉलम पर इंडेक्सिंग

    कम्पोजिट इंडेक्स (Composite Index) एक ऐसा इंडेक्स है जो एक साथ कई कॉलम पर बनाया जाता है। इसे मल्टी-कॉलम इंडेक्स (Multiple-Column Index) के नाम से भी जाना जाता है। मुख्य विशेषताएं MySQL आपको अधिकतम 16 कॉलम तक का कम्पोजिट इंडेक्स बनाने की अनुमति देता है। क्वेरी ऑप्टिमाइज़र उन क्वेरीज़ के लिए कम्पोजि