ฉันมีกลุ่มAurora DB ของAmazon (AWS)และทุกวันมัน[Billed] Volume Bytes Used
เพิ่มขึ้นเรื่อย ๆ
ฉันตรวจสอบขนาดของตารางทั้งหมดของฉัน (ในฐานข้อมูลของฉันทั้งหมดในคลัสเตอร์นั้น) โดยใช้INFORMATION_SCHEMA.TABLES
ตาราง:
SELECT ROUND(SUM(data_length)/1024/1024/1024) AS data_in_gb, ROUND(SUM(index_length)/1024/1024/1024) AS index_in_gb, ROUND(SUM(data_free)/1024/1024/1024) AS free_in_gb FROM INFORMATION_SCHEMA.TABLES;
+------------+-------------+------------+
| data_in_gb | index_in_gb | free_in_gb |
+------------+-------------+------------+
| 30 | 4 | 19 |
+------------+-------------+------------+
ทั้งหมด: 53GB
เหตุใดฉันจึงถูกเรียกเก็บเงินเกือบ 75GB ในเวลานี้
ฉันเข้าใจว่าพื้นที่จัดสรรไม่สามารถถูกปลดปล่อยได้ในวิธีเดียวกับที่ไฟล์ ibdata บนเซิร์ฟเวอร์ MySQL ทั่วไปไม่สามารถย่อขนาดได้ ฉันตกลงกับสิ่งนั้น นี่เป็นเอกสารและยอมรับได้
ปัญหาของฉันคือทุกวันพื้นที่ที่ฉันถูกเรียกเก็บเงินเพิ่มขึ้น และฉันแน่ใจว่าฉันไม่ได้ใช้พื้นที่ 75GB ชั่วคราว ถ้าฉันจะทำอะไรแบบนั้นฉันก็เข้าใจ ราวกับว่าพื้นที่เก็บข้อมูลที่ฉันว่างโดยการลบแถวออกจากตารางของฉันหรือวางตารางหรือแม้แต่ปล่อยฐานข้อมูลจะไม่ถูกใช้ซ้ำ
ฉันติดต่อฝ่ายสนับสนุน AWS (พรีเมียม) หลายครั้งและไม่สามารถรับคำอธิบายที่ดีว่าทำไมถึงเป็นเช่นนั้น
ฉันได้รับคำแนะนำให้เรียกใช้OPTIMIZE TABLE
บนตารางที่มีจำนวนมากfree_space
(ต่อINFORMATION_SCHEMA.TABLES
ตาราง) หรือตรวจสอบความยาวประวัติ InnoDB เพื่อให้แน่ใจว่าข้อมูลที่ถูกลบจะไม่ถูกเก็บไว้ในส่วนย้อนกลับ (อ้างอิง: MVCC ) และรีสตาร์ทอินสแตนซ์เพื่อให้แน่ใจว่าส่วนการย้อนกลับถูกทำให้ว่างเปล่า
ไม่มีใครช่วยเหลือ