Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Memilih Baris dengan Cekap dengan Cap Masa Hari Ini dalam Pangkalan Data?

Bagaimana untuk Memilih Baris dengan Cekap dengan Cap Masa Hari Ini dalam Pangkalan Data?

Patricia Arquette
Patricia Arquetteasal
2024-11-14 13:21:02999semak imbas

How to Efficiently Select Rows with Today's Timestamp in a Database?

Memilih Baris dengan Cap Masa Hari Ini

Dalam pangkalan data, selalunya penting untuk mendapatkan semula rekod berdasarkan tempoh masa tertentu. Satu senario biasa ialah memilih rekod yang mempunyai cap masa hari ini. Artikel ini membentangkan penyelesaian kepada masalah khusus ini.

Persoalan yang ditimbulkan adalah mengenai pemilihan rekod daripada jadual pangkalan data yang medan cap masa mengandungi tarikh hari ini, tanpa mengira masa. Pertanyaan yang disediakan menggunakan DATE_SUB() untuk menolak 24 jam daripada masa semasa dan mendapatkan semula keputusan selama 24 jam yang lalu.

Untuk memilih keputusan berdasarkan tarikh semata-mata, kami boleh memanfaatkan DATE() dan CURDATE() fungsi. Berikut ialah pertanyaan yang diubah suai:

SELECT * FROM `table` WHERE DATE(`timestamp`) = CURDATE()

Dalam pertanyaan ini, DATE() mengekstrak komponen tarikh daripada medan cap masa, membuang maklumat masa. CURDATE() mengembalikan tarikh semasa, memastikan kami hanya mendapatkan semula rekod untuk hari ini.

Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa pertanyaan ini mungkin tidak menggunakan indeks dengan cekap. Untuk penyelesaian yang lebih optimum, pertimbangkan pertanyaan berikut, yang menggunakan lajur tarikh diindeks:

SELECT * FROM `table` WHERE `date` = DATE(NOW())

Memandangkan pertanyaan ini membandingkan terus lajur tarikh dengan tarikh semasa, ia boleh memanfaatkan indeks pada lajur tarikh untuk pelaksanaan yang lebih pantas.

Atas ialah kandungan terperinci Bagaimana untuk Memilih Baris dengan Cekap dengan Cap Masa Hari Ini dalam Pangkalan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn