PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Berapa jumlah maksimum kolom dalam kueri pemilihan PostgreSQL?

Menurut Batas PostgreSQL itu "250 - 1600 tergantung pada jenis kolom". Lihat catatan di bawah meja. Jenis kolom memengaruhinya karena di baris PostgreSQL lebarnya mungkin paling banyak 8 kb (satu halaman), mereka tidak dapat menjangkau halaman. Nilai besar dalam kolom boleh saja karena TOAST menanganinya, tetapi ada batasan jumlah kolom yang dapat Anda muat yang bergantung pada seberapa lebar tipe data tanpa TOAST yang digunakan.

(Tepatnya ini mengacu pada kolom yang dapat disimpan dalam baris di disk; kueri mungkin dapat menggunakan kumpulan kolom yang lebih luas dari ini. Saya tidak menyarankan untuk mengandalkannya.)

Jika Anda bahkan berpikir untuk mendekati batas kolom, Anda mungkin akan mengalami masalah.

Memetakan spreadsheet ke database relasional tampak seperti hal yang paling sederhana di dunia - memetakan kolom ke kolom, baris ke baris, dan seterusnya. Benar? Pada kenyataannya, spreadsheet adalah monster bentuk bebas yang sangat besar yang tidak menerapkan struktur dan bisa sangat berat. Basis data relasional dirancang untuk menangani banyak lebih banyak baris, tetapi dengan biaya; dalam kasus PostgreSQL bagian dari biaya itu adalah batasan seberapa lebar baris itu disukai. Saat menghadapi spreadsheet yang dibuat oleh Joe User, ini bisa menjadi masalah nyata.

Salah satu "solusi" adalah menguraikannya menjadi EAV, tetapi itu sangat lambat dan jelek untuk dikerjakan. Solusi yang lebih baik adalah menggunakan array jika memungkinkan, tipe komposit, hstore , json, xml, dll.

Namun, pada akhirnya, terkadang jawaban terbaik adalah menganalisis spreadsheet menggunakan spreadsheet.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kueri dengan LEFT JOIN tidak mengembalikan baris untuk hitungan 0

  2. Solusi Cloud PostgreSQL Terkelola Benchmarking:Bagian Kedua - Amazon RDS

  3. Cara Mengembalikan Hasil Kueri sebagai Daftar Dipisahkan Koma di PostgreSQL

  4. Kapan nama kolom atau tabel Postgres membutuhkan tanda kutip dan kapan tidak?

  5. Urutkan nilai NULL ke akhir tabel