创建后更改Apache Derby表的derby.storage.pageSize属性

时间:2011-12-14 04:41:50

标签: java database derby database-administration

是否可以更改现有表的derby.storage.pageSize属性?或者我是否必须导出我的数据,删除然后使用新属性重新创建表,然后重新导入我的数据?

1 个答案:

答案 0 :(得分:3)

doc说:

  

定义表的磁盘数据库页面的页面大小(以字节为单位)   或在表或索引创建期间使用的索引。设置此属性   在发出CREATE TABLE或CREATE INDEX语句之前。这个   value将用于新创建的生命周期   集团。

因此它仅在创建表时使用,并且在删除表之前有效 您必须删除,创建和重新导入。

Bryan Pendleton提到create table as select,但at the moment这不完全有用。无法自动插入数据。

  

创建表... AS ...

     

使用CREATE TABLE语句的替代形式,列   可以通过提供a来指定名称和/或列数据类型   查询。查询结果中的列用作模型   在新表中创建列。

     

如果没有为新表指定列名,那么全部   查询表达式结果中的列用于创建   新表中具有相同名称的相应数据列   类型。如果为新表指定了一个或多个列名,   然后在结果中必须存在相同数量的列   查询表达式;这些列的数据类型用于   新表的相应列。

     

WITH NO DATA子句指定由此产生的数据行   评估查询表达式未使用;只有名字和数据   使用查询结果中的列类型。没有数据   必须指明条款; 在将来的版本中,Derby可能会被修改   允许提供WITH DATA子句,这将表明   应该将查询表达式的结果插入到   新创建的表。 但是,在当前版本中,只有WITH NO   声明的数据形式被接受。