为什么不做个试验来验证一下自己的猜想?这个试验应该很简单啊。 create table test (.......) engine=myisam;然后 insert 10000 记录,到操作系统中去看一下这个 test.myd 的文件大小是多少,记录下来 然后再 delete from test where id<5000 删除一半数据。 记录下 test.myd的文件大小。 再 insert 1000 条记录看看 test.myd的文件大小。做完这些,结论你自己就应该有了。
贴出我的测试结果功400万记录,删除200万后,在将这200万导回去 删除前:-rw-rw---- 1 mysql mysql 9546 02-11 16:10 topicmsg5.frm -rw-rw---- 1 mysql mysql 528286744 02-11 16:59 topicmsg5.MYD -rw-rw---- 1 mysql mysql 448553984 02-11 16:37 topicmsg5.MYI 删除后: -rw-rw---- 1 mysql mysql 9546 02-11 16:10 topicmsg5.frm -rw-rw---- 1 mysql mysql 528286744 02-11 16:59 topicmsg5.MYD -rw-rw---- 1 mysql mysql 448553984 02-11 16:37 topicmsg5.MYI导入后: -rw-rw---- 1 mysql mysql 9546 02-11 16:10 topicmsg5.frm -rw-rw---- 1 mysql mysql 572349420 02-11 17:40 topicmsg5.MYD -rw-rw---- 1 mysql mysql 567853056 02-11 17:41 topicmsg5.MYI我想知道结论是什么呢 ?好像是用了空闲的部分 ,但是并没有完全用.
create table test (.......) engine=myisam;然后 insert 10000 记录,到操作系统中去看一下这个 test.myd 的文件大小是多少,记录下来
然后再 delete from test where id<5000 删除一半数据。 记录下 test.myd的文件大小。
再 insert 1000 条记录看看 test.myd的文件大小。做完这些,结论你自己就应该有了。
删除前:-rw-rw---- 1 mysql mysql 9546 02-11 16:10 topicmsg5.frm
-rw-rw---- 1 mysql mysql 528286744 02-11 16:59 topicmsg5.MYD
-rw-rw---- 1 mysql mysql 448553984 02-11 16:37 topicmsg5.MYI
删除后:
-rw-rw---- 1 mysql mysql 9546 02-11 16:10 topicmsg5.frm
-rw-rw---- 1 mysql mysql 528286744 02-11 16:59 topicmsg5.MYD
-rw-rw---- 1 mysql mysql 448553984 02-11 16:37 topicmsg5.MYI导入后:
-rw-rw---- 1 mysql mysql 9546 02-11 16:10 topicmsg5.frm
-rw-rw---- 1 mysql mysql 572349420 02-11 17:40 topicmsg5.MYD
-rw-rw---- 1 mysql mysql 567853056 02-11 17:41 topicmsg5.MYI我想知道结论是什么呢 ?好像是用了空闲的部分 ,但是并没有完全用.