Xeo*_*oss 90 postgresql database-schema database-indexes
我想在创建时为表中的某些列添加索引.是否有办法将它们添加到CREATE TABLE定义中,或者我是否必须在其后使用其他查询添加它们?
CREATE INDEX reply_user_id ON reply USING btree (user_id);
Run Code Online (Sandbox Code Playgroud)
Luk*_*zda 12
彼得克劳斯正在寻找一个规范的答案:
有一个 MODERN SYNTAX (year 2020),所以请解释和展示例子,兼容 postgresql.org/docs/current/sql-createtable.html
您正在搜索内联索引定义,它不适用于 PostgreSQL 直到当前版本 12。除了 UNIQUE/PRIMARY KEY 约束,它为您创建基础索引。
[CONSTRAINTconstraint_name] {检查(表达式)[NO INHERIT] | UNIQUE ( column_name [, ... ] ) index_parameters | PRIMARY KEY ( column_name [, ... ] ) index_parameters |
内联列定义的示例语法(此处为 SQL Server):
CREATE TABLE tab(
id INT PRIMARY KEY, -- constraint
c INT INDEX filtered (c) WHERE c > 10, -- filtered index
b VARCHAR(10) NOT NULL INDEX idx_tab_b, -- index on column
d VARCHAR(20) NOT NULL,
INDEX my_index NONCLUSTERED(d) -- index on column as separate entry
);
Run Code Online (Sandbox Code Playgroud)
引入它们背后的基本原理非常有趣什么是内联索引?菲尔因素
| 归档时间: |
|
| 查看次数: |
30959 次 |
| 最近记录: |