INFORMATION_SCHEMA.TABLES से UPDATE_TIME देखना
MySQL में टेबल के अंतिम संशोधन समय (डेटा परिवर्तन) के लिए INFORMATION_SCHEMA.TABLES.UPDATE_TIME कॉलम का उपयोग करें। यह केवल MyISAM इंजन के लिए विश्वसनीय है; InnoDB में यह NULL हो सकता है।
सिंटैक्स
SELECT UPDATE_TIME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'yourDatabaseName' AND TABLE_NAME = 'yourTableName';
उदाहरण
-- MyISAM टेबल SELECT UPDATE_TIME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'business' AND TABLE_NAME = 'twoprimarykeytabledemo';
+---------------------+ | UPDATE_TIME | +---------------------+ | 2018-11-21 16:51:50 | +---------------------+
InnoDB टेबल पर (आमतौर पर NULL)
SELECT UPDATE_TIME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'business' AND TABLE_NAME = 'zerofilldemo';
+-------------+ | UPDATE_TIME | +-------------+ | NULL | +-------------+
InnoDB के लिए विकल्प
- MySQL 5.7.29+ / 8.0.13+:
innodb_table_statsटेबल मेंlast_updateकॉलम (स्थायी आंकड़े सक्षम होने पर)। - बाइनरी लॉग:
mysqlbinlogसे अंतिम लिखित घटना समय निकालें। - ट्रिगर:
UPDATE_TIMEकॉलम वाली मेटा टेबल बनाएं औरBEFORE INSERT/UPDATE/DELETEट्रिगर से अपडेट करें। - ऑडिट प्लगइन: MySQL Enterprise Audit या MariaDB Audit Plugin।
नोट
UPDATE_TIMEकेवल डेटा परिवर्तन (INSERT/UPDATE/DELETE) दर्शाता है,SELECT(रीड) नहीं।- "अंतिम एक्सेस (रीड) समय" के लिए फाइल सिस्टम
atimeया कस्टम लॉगिंग आवश्यक है। information_schema_stats_expiry(डिफ़ॉल्ट 86400 सेकंड) कैश अवधि नियंत्रित करता है; ताजा डेटा के लिएANALYZE TABLEचलाएं।