是否可以更改现有表的derby.storage.pageSize属性?或者我是否必须导出我的数据,删除然后使用新属性重新创建表,然后重新导入我的数据?
答案 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 声明的数据形式被接受。