Rumah > Artikel > pangkalan data > Bagaimana untuk Memilih Baris dengan Cekap dengan Cap Masa Hari Ini dalam Pangkalan Data?
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!