我有一个大型的 SQL 表格,大约有30GB,我已经删除了其中一半。所以在数据库优化之前,information_schema
中保存的信息并不准确。
有没有一种方法可以使用完整表格扫描来获取实际大小?
我有一个大型的 SQL 表格,大约有30GB,我已经删除了其中一半。所以在数据库优化之前,information_schema
中保存的信息并不准确。
有没有一种方法可以使用完整表格扫描来获取实际大小?
TEXT
列(在某些警告、限制和异常情况下)存储在单独的块中。分配单位为16KB块。因此,如果您有任何TEXT
或BLOB
列,则计算变得非常混乱。UPDATEs
和INSERTs
发生时的可重用块空间。抱歉,您只能使用不精确的数字。
改变话题... 你为什么要进行大量删除?如果您有一个滑动时间尺度(想象:新闻),则PARTITIONs
非常好用。如果您正在替换所有数据,则可以考虑使用RENAME TABLE
技巧。
SHOW TABLE STATUS
吗?innodb_file_per_table
的值是多少? - Rick James