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

MySQL डेटाबेस इंजन क्या हैं?


MySQL स्टोरेज इंजन: अवलोकन और तुलना

स्टोरेज इंजन MySQL का वह घटक है जो डेटा को डिस्क पर बनाता, पढ़ता, अद्यतन करता और हटाता है। MySQL प्लगेबल स्टोरेज इंजन आर्किटेक्चर का उपयोग करता है।

उपलब्ध इंजन देखें

mysql> SHOW ENGINES;

आउटपुट (MySQL 8.0 सामान्य)

+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB             | DEFAULT | Supports transactions, row-level locking, foreign keys         | YES          | YES  | YES        |
| MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write disappears)       | NO           | NO   | NO         |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
| FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+

मुख्य इंजन तुलना

इंजनउपयोग मामलाट्रांजैक्शनलॉकिंगविदेशी कुंजी
InnoDBडिफ़ॉल्ट, सामान्य OLTPहाँ (ACID)पंक्ति-स्तरीयहाँ
MyISAMकेवल पढ़ें/रीड-हेवी, फुलटेक्स्ट (पुराना)नहींटेबल-स्तरीयनहीं
MEMORYअस्थायी टेबल, कैश, लुकअपनहींटेबल-स्तरीयनहीं
CSVCSV फ़ाइल इंटरचेंजनहींटेबल-स्तरीयनहीं
ARCHIVEकेवल सम्मिलन, संपीड़ित लॉगनहींटेबल-स्तरीयनहीं
BLACKHOLEरिप्लिकेशन फिल्टर, बेंचमार्कनहींनहींनहीं

टेबल बनाते समय इंजन चुनें

CREATE TABLE t (id INT) ENGINE = InnoDB;

इंजन बदलें

ALTER TABLE t ENGINE = InnoDB;

डिफ़ॉल्ट इंजन

MySQL 5.5+ में डिफ़ॉल्ट InnoDB है। my.cnf में बदलें:

[mysqld]
default-storage-engine = InnoDB

कौन सा चुनें?

  • InnoDB: लगभग सभी सामान्य मामलों के लिए (डिफ़ॉल्ट चुनें)
  • MyISAM: केवल पढ़ें विश्लेषणात्मक वर्कलोड, फुलटेक्स्ट (पुराना)
  • MEMORY: सत्र डेटा, अस्थायी गणना (रीस्टार्ट पर डेटा खो जाता है)
  • ARCHIVE: केवल लिखें लॉग डेटा, उच्च संपीड़न
  • CSV: बाहरी उपकरणों के साथ डेटा विनिमय
  1. - MySQL डेटाबेस में डेट स्टोर करने का सबसे आसान तरीका क्या है?

    MySQL में डेट स्टोर करने के लिए, STR_TO_DATE() मेथड का उपयोग करें: insert into yourTableName values(STR_TO_DATE(yourDate, %d/%m/%Y)); आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable (    AdmissionDate date ); Query OK, 0 rows affected (0.62 sec) इन्सर्ट कमांड का उपयोग करके टेब

  1. - MySQL में SHOW CREATE DATABASE/TABLE से डेटाबेस/टेबल का कैरेक्टर सेट जांचना

    MySQL में किसी डेटाबेस या टेबल का डिफ़ॉल्ट कैरेक्टर सेट और कोलेशन जानने के लिए SHOW CREATE DATABASE या SHOW CREATE TABLE कमांड का उपयोग किया जाता है। डेटाबेस का कैरेक्टर सेट जांचना mysql> SHOW CREATE DATABASE web; आउटपुट +----------+--------------------------------------------------------------

  1. - MySQL की मुख्य विशेषताएं (Main Features of MySQL)

    MySQL की प्रमुख विशेषताएं 1. ओपन-सोर्स मुफ्त डाउनलोड, उपयोग, संशोधन; GPL लाइसेंस; सोर्स कोड अध्ययन/परिवर्तन योग्य। 2. तेज़ और विश्वसनीय मेमोरी में कुशल स्टोरेज; डेटा सुसंगतता और गैर-अतिरेक; त्वरित एक्सेस/मैनिपुलेशन। 3. स्केलेबल छोटे से बड़े डेटा, क्लस्टर तक; बड़े डेटाबेस के लिए डिज़ाइन किया गया।