Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Simpan data tanggal-waktu sebagai angka

Akan jauh lebih baik jika kurma disimpan sebagai kurma. Menyimpannya sebagai angka daripada string menimbulkan serangkaian masalah yang berbeda.

Jika Anda benar-benar terjebak dengan tanggal yang disimpan sebagai string, untuk memungkinkan indeks pada kolom digunakan, Anda harus mengonversi tanggal yang Anda gunakan sebagai parameter sebagai string dalam format yang sesuai dan kemudian mengandalkan fakta bahwa penyortiran string dalam format tertentu cocok dengan urutan pengurutan yang diharapkan dari tanggal aktual. Jika Anda pernah membandingkan string dengan tanggal atau angka, Anda akan mendapatkan konversi tipe data implisit yang, paling banter, akan menyebabkan masalah kinerja karena indeks tidak dapat digunakan dan paling buruk akan menghasilkan hasil atau kesalahan yang salah.

Dengan asumsi Anda menghindari konversi tipe data, masalah kinerja kemungkinan muncul dari fakta bahwa pengoptimal memiliki banyak kesulitan memperkirakan kardinalitas saat Anda menggunakan tipe data yang salah. Oracle mengetahui, misalnya, bahwa ada 365 hari (atau 8760 jam atau 525600 menit) antara 1/1/2012 dan 1/1/2013. Di sisi lain, ada miliaran kemungkinan string antara '20120101000000' dan '20130101000000'. Itu dapat menyebabkan pengoptimal tidak menggunakan indeks saat Anda menginginkannya (atau sebaliknya), menggunakan jenis gabungan yang salah, dll.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah aplikasi web Azure PHP 7 memiliki driver Oracle?

  2. Apakah Tomcat menggunakan versi cache dari modul pl/sql?

  3. Kondisi (seperti suka) pada bidang biner (gumpalan) di oracle

  4. Hanya satu yang aktif untuk setiap batasan hubungan

  5. Antrian Lanjutan Oracle dengan .Net