Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Mengapa tidak menggunakan waktu pembuatan catatan sebagai kunci utama?

Jawaban umumnya adalah bahwa data Anda dapat berubah (di mana id yang tidak berarti tidak akan pernah) ... apa yang terjadi ketika Anda menyadari bahwa Anda menyimpan waktu di zona lokal dan DST dimulai? Jika Anda ingin menyimpan terhadap UTC dan/atau terhadap zona waktu tertentu? Untuk pertimbangan pemesanan lebih lanjut, lihat jawaban wcoenen .

Jika Anda mulai membuat 1000 baris per detik, dan Anda harus mengacaukan data untuk "membuatnya berfungsi" melakukan sesuatu yang tidak dimaksudkan untuk itu. Mungkin Anda akan menambahkan kolom disambiguasi yang akan membuat indeks Anda lebih besar dan lebih lambat ...

Dan kemudian ketika proyek Anda menjadi sangat populer dan orang-orang mulai mencoba menjalankan laporan/kueri dan "itu menggunakan tanggal sebagai PK???!!!"

Pertimbangkan juga untuk menggunakan database yang memungkinkan indeks berkerumun pada kolom non-primer.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP - PDO mengambil hasil dengan kolom sebagai indeks dan kolom sebagai nilai

  2. Hapus Kueri Untuk Menghapus Baris di MySQL

  3. Kesalahan Sintaks SQL saat Memuat File Basis Data (Kemungkinan Kesalahan Versi?)

  4. Amazon DynamoDB - Merancang tabel berdasarkan pertemanan

  5. Mencari yang setara dengan dictcursor di flaskext.mysql