IfxMRData 数据类型是具有多种表示形式的不透明类型,在 GBase 8s Text Descriptor DataBlade 模块中定义,并与 GBase 8s Excalibur Text Search DataBlade 模块一起使用。 它为 ASCII 文本数据提供快速有效的存储。
将数据插入 LVARCHAR 列比插入 CLOB 列速度快,因此如果要提高性能,应尽可能使用 LVARCHAR。但是,LVARCHAR 列有 2 KB 的大小限制。由于不易事先了解文档的最大大小,因此使用 LVARCHAR 列类型有一定的风险。指定 IfxMRData 列类型可解决该问题,因为该数据类型本身会确定是以 LVARCHAR 还是以 CLOB 数据结构来存储文档。
可以仅对 ASCII 文本数据使用 IfxMRData 数据类型,因为 ASCII 文本数据会使用 CLOB 而非 BLOB 作为可能的存储类型。如果文档包含二进制数据,请不要将其存储在 IfxMRData 类型的列中,而是存储在 BLOB 类型的列中。
更新某列会更改数据存储的位置。例如,假设某文档最初因大小超过 2 KB 而以 CLOB 类型存储。 CLOB 数据存储在智能大对象空间中。如果对该值进行更新后使得此文档小于 2 KB,那么 DataBlade Module 会将其存储结构更改为 LVARCHAR(包含于数据库中)。此更改对用户是透明的。