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

Datetime vs Tanggal dan Waktu Mysql

Ada perbedaan besar dalam kinerja saat menggunakan bidang DATE di atas bidang DATETIME. Saya memiliki tabel dengan lebih dari 4.000.000 catatan dan untuk tujuan pengujian saya menambahkan 2 bidang dengan indeks mereka sendiri. Satu menggunakan DATETIME dan bidang lainnya menggunakan DATE.

Saya menonaktifkan cache kueri MySQL agar dapat menguji dengan benar dan mengulang kueri yang sama selama 1000x:

SELECT * FROM `logs` WHERE `dt` BETWEEN '2015-04-01' AND '2015-05-01' LIMIT 10000,10; DATETIME INDEX:197,564 detik.

SELECT * FROM `logs` WHERE `d` BETWEEN '2015-04-01' AND '2015-05-01' LIMIT 10000,10; INDEKS TANGGAL:107,577 detik.

Menggunakan bidang yang diindeks tanggal memiliki peningkatan kinerja:45,55%!!

Jadi saya akan mengatakan jika Anda mengharapkan banyak data di tabel Anda, harap pertimbangkan untuk memisahkan tanggal dari waktu dengan indeks mereka sendiri.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. KESALAHAN 2006 (HY000):Server MySQL telah hilang

  2. Bagaimana cara melihat apakah pengguna sedang online di situs web dengan database berbasis php dan mysql?

  3. LOAD DATA INFILE tidak berfungsi

  4. SQL Kembalikan 1,0 dalam variabel baru berdasarkan kasus ketika pernyataan merujuk ke beberapa variabel lain

  5. '𠂉' Bukan karakter unicode yang valid, tetapi dalam rangkaian karakter unicode?