我在H2数据库中有一个表。
该表中有两列,如下所示:
CREATE TABLE mytable (id bigserial NOT NULL,lffo_file text);
id | value
--------------
我执行此查询:
INSERT INTO mytable (value , id) VALUES ( '/resource/public/1555687199892.js','1555684557909')
之后,当我执行此查询时:
select * from my table
它告诉我:
id | value
-----------------------------------------
1555684557909 | clob4: '/resource/public/1555687199892.js'
为什么H2会添加此前缀<< clob4:>>?
(我只是知道,clob是用于大型varchar的数据类型)
答案 0 :(得分:0)
一段时间后
H2数据库自动将Text视为Clob数据类型
当您使用“文本”列创建表时,该表已更改为Clob
,然后:
当您插入文本值时,它将保留KVP格式的文本:
假设您在值列
因此它像下面这样持续存在:
value
clob0 : 'Alex'
clob1 : 'Beti'
正如您在kvp中看到的那样,密钥是'clobe'+计数器
所以我将文本类型更改为varchar(无大小),并且依赖于PostgreSQL文档,varchar和文本性能之间没有区别
所有这些都是我所看到的,如果有更好的答案,请分享一下,谢谢