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

MySQL टेबल MyISAM या InnoDB इंजन उपयोग कर रही है कैसे जानें?


SHOW TABLE STATUS से टेबल स्टोरेज इंजन जांचें

किसी टेबल का स्टोरेज इंजन (MyISAM, InnoDB, आदि) जानने के लिए SHOW TABLE STATUS का उपयोग करें।

विशिष्ट टेबल के लिए

mysql> SHOW TABLE STATUS FROM डेटाबेस_नाम LIKE 'टेबल_नाम';

उदाहरण: business डेटाबेस में student टेबल

mysql> SHOW TABLE STATUS FROM business LIKE 'student';
+---------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+
| Name    | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time         | Update_time | Check_time | Collation          | Checksum | Create_options | Comment |
+---------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+
| student | InnoDB | 10      | Dynamic    | 2    | 8192           | 16384       | 0               | 32768        | 0         | NULL           | 2018-10-01 12:26:57 | NULL        | NULL       | utf8mb4_unicode_ci | NULL     |                |         |
+---------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+

Engine कॉलम InnoDB दिखाता है।

डेटाबेस की सभी टेबल के लिए

mysql> SHOW TABLE STATUS FROM business;

आउटपुट में प्रत्येक टेबल की पंक्ति और उसका इंजन होता है।

INFORMATION_SCHEMA से (प्रोग्रामेटिक)

SELECT TABLE_NAME, ENGINE 
FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_SCHEMA = 'business';

स्क्रीनशॉट संदर्भ

मूल लेख में SHOW TABLE STATUS FROM business के आउटपुट का स्क्रीनशॉट शामिल है जिसमें कई टेबल और उनके इंजन दिखाए गए हैं।

इंजन बदलें

ALTER TABLE टेबल_नाम ENGINE = InnoDB;
-- या
ALTER TABLE टेबल_नाम ENGINE = MyISAM;

मुख्य अंतर

विशेषताInnoDBMyISAM
ट्रांजैक्शनहाँ (ACID)नहीं
विदेशी कुंजीहाँनहीं
पंक्ति-स्तरीय लॉकहाँनहीं (टेबल-स्तरीय)
क्रैश रिकवरीहाँसीमित
FULLTEXT (पुराना)5.6+हाँ
डिफ़ॉल्ट (8.0+)हाँनहीं
  1. MySQL में InnoDB कैसे स्थापित या सक्षम करें? MySQL में InnoDB कैसे स्थापित या सक्षम करें?

    MySQL में InnoDB स्टोरेज इंजन सक्षम करना MySQL 8.0 में InnoDB डिफ़ॉल्ट स्टोरेज इंजन है। फिर भी, आप इसे कॉन्फ़िगरेशन फ़ाइल या टेबल निर्माण समय में सेट कर सकते हैं। कॉन्फ़िगरेशन फ़ाइल (my.ini/my.cnf) जाँचना MySQL कॉन्फ़िगरेशन फ़ाइल में default-storage-engine=InnoDB सेट करें। MySQL 8 में यह डिफ़ॉल्ट रू

  1. - MySQL में JOIN से दूसरी टेबल के ID द्वारा उपयोगकर्ता नाम कैसे प्राप्त करें?

    JOIN सिंटैक्स select username from table1 join table2 on table1.id = table2.fk_id; उदाहरण टेबल 1 (demo77): userid (PK), username insert into demo77 values(1,John), (2,Bob), (3,Mike); टेबल 2 (demo78): id (PK, FK→demo77), countryname insert into demo78 values(1,US), (2,AUS); JOIN क्वेरी और परिणा

  1. - Python में MySQL का उपयोग करके टेबल कॉपी करना

    हम Python का उपयोग करके MySQL में किसी मौजूदा टेबल की कॉपी बना सकते हैं। टेबल के कॉलम, कॉलम परिभाषाएं और सभी पंक्तियों सहित पूरी टेबल कॉपी की जाएगी। सिंटैक्स CREATE TABLE table_name SELECT * FROM existing_table table_name बनाई जाने वाली नई टेबल का नाम है। existing_table कॉपी की जाने वाली टेबल का न