【发布时间】:2012-09-18 06:10:02
【问题描述】:
在 Postgres 中,CREATE TABLE 语句中的列顺序会影响性能吗?考虑以下两种情况:
CREATE TABLE foo (
a TEXT,
B VARCHAR(512),
pkey INTEGER PRIMARY KEY,
bar_fk INTEGER REFERENCES bar(pkey),
C bytea
);
对比
CREATE TABLE foo2 (
pkey INTEGER PRIMARY KEY,
bar_fk INTEGER REFERENCES bar(pkey),
B VARCHAR(512),
a TEXT,
C bytea
);
foo2 的性能是否会因为列的字节对齐更好而优于foo?当 Postgres 执行 CREATE TABLE 时,它是按照指定的列顺序还是按照字节对齐或性能的最佳顺序重新组织列?
【问题讨论】:
标签: postgresql performance database-design storage postgresql-performance