建表后,表文件大小为0,向里面插入数据后,文件大小变为8K,
数据记录是从文件的最后开始往上写的,为什么采用这种方式?而且插入记录的时候,不是马上写入文件的,得等5分钟左右(此时查询都是正常的)。
我估计是记录量过少,先缓在内存,到一定时间或到一定量再写入文件,以减少磁盘I/O。如果表文件只能是一下扩大8K,这个批量I/O程度对大数据量的时候还是比较慢的。
我在linux下测试的写文件,8M-16M的批量写入效率差不多最高。问:1、这个8K在哪里可以配置? oracle建表的时候可以指定 storage(initial 80K 。。)等等
2、数据记录是从文件的最后开始往上写的,为什么采用这种方式?
数据记录是从文件的最后开始往上写的,为什么采用这种方式?而且插入记录的时候,不是马上写入文件的,得等5分钟左右(此时查询都是正常的)。
我估计是记录量过少,先缓在内存,到一定时间或到一定量再写入文件,以减少磁盘I/O。如果表文件只能是一下扩大8K,这个批量I/O程度对大数据量的时候还是比较慢的。
我在linux下测试的写文件,8M-16M的批量写入效率差不多最高。问:1、这个8K在哪里可以配置? oracle建表的时候可以指定 storage(initial 80K 。。)等等
2、数据记录是从文件的最后开始往上写的,为什么采用这种方式?
1。页的单位是8k, 不能配置,编译的时候已经设定,除非重新编译服务器。
2。不知。
里面都有说明