CREATE TABLE
Postgresでは、ステートメントの列の順序はパフォーマンスに影響しますか?次の2つのケースを考えてみましょう。
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
と、指定された列の順序に従いますか、それともバイトの配置やパフォーマンスに最適な順序で列を再編成しますか?