gpt4 book ai didi

mysql - 在单个 postgres 表中生成多个索引

转载 作者:行者123 更新时间:2023-11-29 03:17:22 26 4
gpt4 key购买 nike

我有一些源语法需要从 MySQL 转换为 postgreSQL。似乎在 postgres 中没有用于在单个表上生成多个索引的模拟。另外,我无法理解为什么要在单个表上生成多个索引:

ALTER TABLE concept 
ADD PRIMARY KEY (table_id),
ADD UNIQUE INDEX idx_table_table_id (table_id),
ADD INDEX idx_table_code (table_code),
ADD INDEX idx_table_v_id (v_id),
ADD INDEX idx_cd_id (d_id),
ADD INDEX idx_table_class_id (table_class_id);

有什么想法吗?

最佳答案

在 PostgreSQL 中,每个约束都是单独添加的。参见 ALTER TABLE .

您的单个​​ DDL(数据定义语言)语句需要分解为:

  • 约束根据规则检查数据:

     ALTER TABLE concept ADD PRIMARY KEY (table_id);
  • 索引有助于加快一些查询。谨慎使用:

     CREATE INDEX idx_table_code ON concept (table_code);

    CREATE INDEX idx_table_v_id ON concept (v_id);

    CREATE INDEX idx_cd_id ON concept (d_id);

    CREATE INDEX idx_table_class_id ON concept (table_class_id);

    注意:仅在需要时才创建索引。我的 [非常个人] 经验法则是每张 table 不超过 10 个。如果我达到了那个水平,那么我需要重新仔细考虑我在做什么。

关于mysql - 在单个 postgres 表中生成多个索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52897736/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com