Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan Rekod MySQL Dengan Cekap Berdasarkan Tarikh (Mengabaikan Masa)?
Mengambil Rekod Berdasarkan Hari Tanpa Masa dalam MySQL
Untuk menanyakan jadual dan mendapatkan semula rekod yang jatuh dalam hari tertentu, tanpa mengira masa, adalah penting untuk mendekati pertanyaan dengan cara yang memanfaatkan teknik pengoptimuman MySQL.
Menggunakan Fungsi DATE() untuk mengekstrak komponen tarikh dan membandingkannya dengan tarikh tertentu boleh menjadi tidak cekap, kerana ia memerlukan pengiraan untuk setiap baris dan menghalang penggunaan indeks. Sebaliknya, pendekatan yang lebih cekap ialah menggunakan pertanyaan julat yang menentukan permulaan dan akhir hari tertentu.
Sebagai contoh, jika anda mempunyai jadual dengan lajur bernama "cap masa" dan anda ingin mendapatkan semula rekod untuk tarikh "2012-12-25", tidak termasuk komponen masa, pertanyaan berikut boleh digunakan:
SELECT * FROM tablename WHERE timestamp >= '2012-12-25 00:00:00' AND timestamp < '2012-12-26 00:00:00';
Pertanyaan ini memanfaatkan indeks pada lajur "cap masa", memastikan pengambilan data yang cepat dan cekap. Selain itu, ia mengelak daripada menggunakan fungsi DATE(), menghapuskan pengiraan yang tidak perlu.
Dengan mengikuti pendekatan ini, anda boleh mengekstrak rekod dengan tepat berdasarkan komponen hari lajur datetime, mengoptimumkan pertanyaan anda untuk prestasi yang lebih baik dalam MySQL.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Rekod MySQL Dengan Cekap Berdasarkan Tarikh (Mengabaikan Masa)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!