JDBC का उपयोग करके MySQL तालिका का स्टोरेज इंजन (InnoDB, MyISAM, आदि) प्रोग्रामेटिक रूप से information_schema.tables से प्राप्त किया जा सकता है।
SQL क्वेरी
SELECT ENGINE FROM information_schema.tables
WHERE TABLE_SCHEMA = 'database_name' AND TABLE_NAME = 'table_name';
पूर्ण Java कोड
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class GetStorageEngine {
public static void main(String[] args) {
String hostURL = "jdbc:mysql://localhost:3306/web?useSSL=false";
Connection con = null;
Statement stmt = null;
try {
con = DriverManager.getConnection(hostURL, "root", "123456");
stmt = con.createStatement();
String tableName = "DemoTable";
String query = "SELECT ENGINE FROM information_schema.tables " +
"WHERE TABLE_NAME = '" + tableName + "';";
ResultSet rs = stmt.executeQuery(query);
if (rs.next()) {
System.out.println("The storage engine is=" + rs.getString(1));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
आउटपुट
The storage engine is=InnoDB
महत्वपूर्ण बिंदु
information_schema.tables- मेटाडेटा तालिकाTABLE_SCHEMA- डेटाबेस नाम फ़िल्टर (महत्वपूर्ण)TABLE_NAME- तालिका नामENGINEकॉलम में इंजन नाम होता है
सामान्य इंजन
| इंजन | विशेषताएं |
|---|---|
| InnoDB | डिफ़ॉल्ट, ACID, ट्रांजैक्शन, FK, रो-लॉक |
| MyISAM | पुराना, फुलटेक्स्ट, टेबल-लॉक, नो ट्रांजैक्शन |
| Memory | मेमोरी में, तेज़, अस्थायी |
| CSV | CSV फ़ाइल संग्रहण |
| Archive | संपीड़ित, केवल INSERT/SELECT |