多块大小支持的 Oracle 9i 数据库,真的是挺实用的功能。你可以设置一种标准块,比如 8K,额外再配最多四种非标准的,比如 2K、4K、16K 甚至 32K,灵活又兼容老系统,挺适合做分区表或者历史数据的场景。

9i 的多块大小机制对性能优化还蛮有。比如你要搞一个大表空间专门用来跑大对象(LOB),就可以指定一个大块,比如 32K,提高 I/O 效率;而小表空间用小块节省空间,合理,对吧?

块大小是在创建tablespace的时候设定的,记住不是全局设置。像这样:

CREATE TABLESPACE big_data_ts
DATAFILE 'bigdata01.dbf' SIZE 100M
BLOCKSIZE 32K;

要注意,非标准块大小的表空间前提是你得在init.oraspfile里配置好DB_nK_CACHE_SIZE参数,不然系统直接罢工,可别踩坑。

你要是对块结构更感兴趣,推荐几个文章挺细的:

如果你还在用 9i(虽然有点年头了),这个功能还挺香的。合理用块大小组合,省空间提性能两不误,老系统也能玩出花来~