是否可以更改现有表的 derby.storage.pageSize 属性?还是我必须导出我的数据,删除然后使用新属性重新创建表,然后重新导入我的数据?
问问题
459 次
1 回答
3
医生说:
定义在创建表或索引期间使用的表或索引的磁盘数据库页面的页面大小(以字节为单位)。在发出 CREATE TABLE 或 CREATE INDEX 语句之前设置此属性。该值将用于新创建的企业集团的生命周期。
所以它只会在创建表时使用,直到表被删除才有效。
您将不得不删除、创建和重新导入。
Bryan Pendleton 提到,create table as select
但目前这并不完全有效。无法自动插入数据。
创建表...作为...
使用 CREATE TABLE 语句的替代形式,可以通过提供查询来指定列名和/或列数据类型。查询结果中的列用作在新表中创建列的模型。
如果没有为新表指定列名,则查询表达式结果中的所有列都用于在新表中创建具有相应数据类型的同名列。如果为新表指定了一个或多个列名,则查询表达式的结果中必须存在相同数量的列;这些列的数据类型用于新表的相应列。
WITH NO DATA 子句指定不使用由计算查询表达式产生的数据行;仅使用查询结果中列的名称和数据类型。必须指定 WITH NO DATA 子句;在未来的版本中,可以修改 Derby 以允许提供 WITH DATA 子句,这将指示查询表达式的结果应该插入到新创建的表中。但是,在当前版本中,仅接受 WITH NO DATA 形式的语句。
于 2011-12-14T08:32:05.147 回答