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

Stempel waktu sebagai bidang int, kinerja kueri

Gunakan UNIX_TIMESTAMP pada konstanta alih-alih FROM_UNIXTIME pada kolom:

SELECT * FROM table
WHERE timestamp_field
   BETWEEN UNIX_TIMESTAMP('2010-04-14 00:00:00')
       AND UNIX_TIMESTAMP('2010-04-14 23:59:59')

Ini bisa lebih cepat karena memungkinkan database menggunakan indeks pada kolom timestamp_field , jika ada. Basis data tidak mungkin menggunakan indeks saat Anda menggunakan non-sargable berfungsi seperti FROM_UNIXTIME pada kolom.

Jika Anda tidak memiliki indeks di timestamp_field lalu tambahkan satu.

Setelah Anda melakukan ini, Anda juga dapat mencoba untuk lebih meningkatkan kinerja dengan memilih kolom yang Anda butuhkan daripada menggunakan SELECT * .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara membuat dan menyisipkan objek JSON menggunakan kueri MySQL?

  2. Mysql menghapus kata tertentu dalam string yang dipisahkan koma

  3. Butuh bantuan untuk memasukkan data yang dipisahkan koma dalam database mysql menggunakan PHP

  4. Kesalahan:PathExpression Tidak Valid. Harus berupa StateFieldPathExpression yang gagal pada pemilihan bidang

  5. Pisahkan beberapa pernyataan SQL menjadi pernyataan SQL individual