【发布时间】:2017-04-02 06:47:55
【问题描述】:
我正在尝试将 Liquibase 用于我们的项目。我们主要使用Oracle数据库和其他一些数据库,使用频率较低。我试图弄清楚如何在索引的情况下指定列顺序。下面是一个典型的创建索引更改集。
<createIndex indexName="PK_xxxxxxx" tableName="xxxxx" unique="true">
<column name="column_1"/>
<column name="column_2"/>
<column name="column_3"/>
</createIndex>
在性能和应用程序可扩展性方面,索引中的列顺序非常重要。如果在创建索引时可以指定相同的方法,您能否指导我?
PS:根据列标签文档,属性afterColumn、position 存在,它们仅适用于我假设的创建表。以下是相关文档的说明。
如果在“addColumn”命令中使用,此属性允许您控制新列在表列顺序中的位置。只允许使用 beforeColumn、afterColumn 或 position 之一。从 3.1 开始
【问题讨论】:
-
您引用的文档是指“addColumn”命令。您正在使用 createIndex 命令。
-
@PeterHenell 是的,在创建表期间,允许使用“AfterColumn”或“Position”属性进行列顺序。我想知道是否同样可以与“CreateIndex”一起使用。
-
@a_horse_with_no_name,谢谢。通常 XML 是“无序”的,这意味着如果我在生成这些 XML 文件时使用其他标准工具进行 XML 操作,则无法保证列将保持有序。这就是提出这个问题的原因。
标签: liquibase