The OS doesn’t actually map/allocate the pages to you until you touch them, so if you preallocate 30 GB and only use one row, you’d only be using 4 KB (or whatever your page size is). This is the same as if you’d individually malloc’d the single row, since deep down malloc just calls mmap.