Commit 9492b5c0 authored by Thong Kuah's avatar Thong Kuah

Edit ordering_table_columns.md, move important info first

parent 98304964
# Ordering Table Columns in PostgreSQL # Ordering Table Columns in PostgreSQL
For GitLab we require that columns of new tables are ordered to use the
least amount of space. An easy way of doing this is to order them based on the
type size in descending order with variable sizes (`text`, `varchar`, arrays,
`json`, `jsonb`, and so on) at the end.
Similar to C structures the space of a table is influenced by the order of Similar to C structures the space of a table is influenced by the order of
columns. This is because the size of columns is aligned depending on the type of columns. This is because the size of columns is aligned depending on the type of
the following column. Let's consider an example: the following column. Let's consider an example:
...@@ -40,11 +45,6 @@ In these examples, the `id` and `user_id` columns are packed together, which ...@@ -40,11 +45,6 @@ In these examples, the `id` and `user_id` columns are packed together, which
means we only need 8 bytes to store _both_ of them. This in turn means each row means we only need 8 bytes to store _both_ of them. This in turn means each row
will require 8 bytes less space. will require 8 bytes less space.
For GitLab we require that columns of new tables are ordered based to use the
least amount of space. An easy way of doing this is to order them based on the
type size in descending order with variable sizes (`text`, `varchar`, arrays,
`json`, `jsonb`, and so on) at the end.
## Type Sizes ## Type Sizes
While the [PostgreSQL documentation](https://www.postgresql.org/docs/current/datatype.html) contains plenty While the [PostgreSQL documentation](https://www.postgresql.org/docs/current/datatype.html) contains plenty
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment