Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Clob溢出时在DB表中创建连续行_Java_Database_Jpa_Optimization_Db2 - Fatal编程技术网

Java Clob溢出时在DB表中创建连续行

Java Clob溢出时在DB表中创建连续行,java,database,jpa,optimization,db2,Java,Database,Jpa,Optimization,Db2,我们有一个CLOB条目,它大于列大小CLOB。我想到的不是增加列CLOB的大小,而是将溢出的内容切碎并放在另一行上。这是有益的还是有更有益的方法? 我们使用DB2、Java和JPA 例如,“我的表编号”有Pkey、NumberName和Digit列。数字为10mB CLOB 问题示例是,我有一个新的字符串,它是12mB CLOB。这将导致错误。 我想做的是添加另一个列来保存一个序列,然后切掉溢出的部分 例如,我的表编号将包含列、Pkey、NumberName、Digit和Sequence 顺序是

我们有一个CLOB条目,它大于列大小CLOB。我想到的不是增加列CLOB的大小,而是将溢出的内容切碎并放在另一行上。这是有益的还是有更有益的方法? 我们使用DB2、Java和JPA

例如,“我的表编号”有Pkey、NumberName和Digit列。数字为10mB CLOB

问题示例是,我有一个新的字符串,它是12mB CLOB。这将导致错误。 我想做的是添加另一个列来保存一个序列,然后切掉溢出的部分

例如,我的表编号将包含列、Pkey、NumberName、Digit和Sequence

顺序是为了让我知道哪些先开始,哪些再添加,依此类推


|Pkey |数字名称|数字|序列| |00001 | Pi | 10mb | 1| |00002 | Pi | 2mb | 2|


超过10mb的可能性很小,大约每1.5年1次,通常超过5倍是不实际的,这就是我坚持增加CLOB大小的原因。

我认为如果按照您所说的那样做,那么在更大的应用程序中移动表行时会导致性能问题。因为每次您对这个表进行查询时,它都必须查找并遍历所有记录,而且每次这种数据出现并删除它们时,表就会变得更大。所以要么增加列大小,要么不想增加列大小,就这样做。前10mb数据将进入表A,另一个表B有它的切掉值,并在表A中保持序列。

我认为,如果您按照您所说的那样做,那么在更大的应用程序中移动表行时将导致性能问题。因为每次您对这个表进行查询时,它都必须查找并遍历所有记录,而且每次这种数据出现并删除它们时,表就会变得更大。所以要么增加列大小,要么不想增加列大小,就这样做。前10mb的数据将进入表A,另一个表B有它的切掉值,并在表A中维护序列。

您只是在为自己创建额外的工作,并增加出错的机会

CLOB列可以定义为2 GB大小;但是,将只分配每行中CLOB数据的实际大小,因此如果定义CLOB列以适合最大值,则不会浪费空间。没有理由人为地分割高球


你只是在为自己创造额外的工作,并增加出错的机会

CLOB列可以定义为2 GB大小;但是,将只分配每行中CLOB数据的实际大小,因此如果定义CLOB列以适合最大值,则不会浪费空间。没有理由人为地分割高球


增加CLOB的大小是正确的答案。要么把它增加到20MB,如果你得到25MB,再增加一次……要么现在就把它增加到50MB


Heck,考虑现在将它增加到2GB。未使用的空间不被浪费。

< P>增加CROB的大小是<强>右<强> >答案。要么把它增加到20MB,如果你得到25MB,再增加一次……要么现在就把它增加到50MB


Heck,考虑现在将它增加到2GB…未使用的空间没有被浪费。

我不想仅仅增加CLUB大小,因为它不会是可维护的。e、 g.将其增加到20mb,但有时可能会输入25mb的数据。虽然超过这个10mb是很少见的,但给你一些统计数字,每1.5年一次。有两个表,每个表包含10mb的数据,以便对它们进行排序更有效?虽然它听起来也不那么容易维护。正如上面mustaccio的ans。如果您将列大小设置为1gb,它将不会占用整个空间。它将只占用您的数据所承载的内容。所以不用担心增加列大小。是的,每1.5年一次,创建第二个表是不可行的。如果你说你有超过10mb的场景是1.5年一次,那么就用你的解决方案。但这会增加你额外的工作量……你为什么要把溢出放在第二张桌子上?如果他以后必须再次增加,他现在处于完全相同的位置,只有TableA有前10mb,TableB有。。。其他所有内容,可能在多行中。为什么不在此时将TableA CLOB大小设为0?你不必要地增加了系统的复杂性,这几乎保证会让你一败涂地(至少一个表版本是独立的!)。我不想只增加CLOB的大小,因为这样它就不可维护了。e、 g.将其增加到20mb,但有时可能会输入25mb的数据。虽然超过这个10mb是很少见的,但给你一些统计数字,每1.5年一次。有两个表,每个表包含10mb的数据,以便对它们进行排序更有效?虽然它听起来也不那么容易维护。正如上面mustaccio的ans。如果您将列大小设置为1gb,它将不会占用整个空间。它将只占用您的数据所承载的内容。所以不用担心增加列大小。是的,每1.5年一次,创建第二个表是不可行的。如果你说你有超过10mb的场景是1.5年一次,那么就用你的解决方案。但这会增加你额外的工作量……你为什么要把溢出放在第二张桌子上?如果他以后必须再次增加,他现在处于完全相同的位置,只有TableA有前10mb,TableB有。。。其他所有内容,可能在多行中。为什么不在此时将TableA CLOB大小设为0?您不必要地增加了系统的复杂性,这几乎保证会让您一败涂地(至少一个表版本是自包含的!)。您打算如何在JPA中映射这一点?您不能动态添加任意列。@尼尔,假设我使用此路线。