Query ตารางที่มีการเปลี่ยนแปลงในชั่วโมงล่าสุด
ใช้ INFORMATION_SCHEMA.TABLES ร่วมกับ UPDATE_TIME และ DATE_SUB()
รูปแบบคำสั่ง (Syntax)
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE UPDATE_TIME >= DATE_SUB(NOW(), INTERVAL 1 HOUR)
AND TABLE_SCHEMA = 'your_database_name';
ตัวอย่างการใช้งาน
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE DATE_SUB(NOW(), INTERVAL 1 HOUR) < UPDATE_TIME;
ผลลัพธ์ตัวอย่าง:
| TABLE_NAME |
|---|
| innodb_table_stats |
| innodb_index_stats |
| employeeinformation |
ถ้าต้องการรายละเอียดเพิ่มเติม:
SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE DATE_SUB(NOW(), INTERVAL 1 HOUR) < UPDATE_TIME;
จะแสดง: TABLE_SCHEMA, TABLE_TYPE, ENGINE, ROW_FORMAT, ROWS, DATA_LENGTH, INDEX_LENGTH, CREATE_TIME, UPDATE_TIME, CHECK_TIME, COLLATION, ฯลฯ
ข้อจำกัด:
- UPDATE_TIME อาจเป็น NULL สำหรับบาง Storage Engine (เช่น InnoDB ในบางเวอร์ชัน)
- ต้องมีสิทธิ์เข้าถึง INFORMATION_SCHEMA
- เวลาอาจไม่แม่นยำหากมี Transaction ยาวๆ ที่ยังไม่ Commit