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

Perbedaan kinerja antara UUID, CHAR, dan VARCHAR di tabel PostgreSql?

Gunakan uuid . PostgreSQL memiliki tipe asli karena suatu alasan.

Ini menyimpan uuid secara internal sebagai bidang biner 128-bit. Opsi lain yang Anda usulkan menyimpannya sebagai heksadesimal, yang sangat tidak efisien jika dibandingkan.

Tidak hanya itu, tetapi:

  • uuid melakukan pengurutan bytewise sederhana untuk memesan. text , char dan varchar pertimbangkan susunan dan lokal, yang tidak masuk akal untuk sebuah uuid.

  • Hanya ada satu representasi kanonik dari uuid . Hal yang sama tidak berlaku untuk teks dll; anda harus mempertimbangkan hex huruf besar vs kecil, ada atau tidaknya {...-...} s dll.

Tidak ada pertanyaan. Gunakan uuid .

Satu-satunya tipe lain yang masuk akal adalah bytea , yang setidaknya dapat digunakan untuk menyimpan 16 byte uuid secara langsung. Inilah yang akan saya lakukan jika saya menggunakan sistem yang tidak dapat mengatasi tipe data di luar set dasar, seperti semacam ORM yang benar-benar bodoh.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mencegah injeksi SQL di PHP dengan MDB2

  2. Dua titik dua (::) notasi dalam SQL

  3. Cara Menampilkan Pengaturan Saat Ini untuk Output Null di PostgreSQL (psql)

  4. AttributeError:objek 'UUID' tidak memiliki atribut 'ganti' saat menggunakan tipe GUID backend-agnostik

  5. TAHUN memberikan kesalahan