Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ค้นหาตารางที่ถูกแก้ไขล่าสุด 1 ชั่วโมงใน MySQL

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