在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
时,它是遵循指定的列顺序,还是按照字节对齐或性能的最佳顺序重新组织列?