【发布时间】:2020-08-01 08:22:50
【问题描述】:
我需要在我的数据库中存储长度在 1 到 4200 个字符之间的消息。 我应该使用“...NAMEHERE CLOB(5000) NOT NULL, ...”还是“...NAMEHERE NTEXT NOT NULL”创建列,还是其他最佳方法?
【问题讨论】:
标签: hsqldb
我需要在我的数据库中存储长度在 1 到 4200 个字符之间的消息。 我应该使用“...NAMEHERE CLOB(5000) NOT NULL, ...”还是“...NAMEHERE NTEXT NOT NULL”创建列,还是其他最佳方法?
【问题讨论】:
标签: hsqldb
它适用于 VARCHAR(5000) 和 CLOB(5000)。性能取决于数据库和表的类型。如果您的数据库都在内存中mem:,请使用 VARCHAR(5000)。对于file:databases CLOB(5000) 使用的内存更少,应该在大型数据库中表现更好。
不同之处在于存储此列数据的文件。使用 VARCHAR(5000) 它与其他列一起存储。对于 CLOB(5000),它存储在单独的 .lobs 文件中。
如果使用 CLOB,请将 LOB SCALE 更改为 SET FILES LOB SCALE 2,以 2 KB 为单位分配文件空间,减少浪费。
【讨论】: