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

Hitung catatan kriteria pencarian berdasarkan pencarian yang dilakukan oleh pengguna (MYSQL PHP)

Saya sudah mencoba melakukan ini sebelumnya, dan itu bisa menjadi sangat lambat tergantung pada berapa banyak filter yang Anda izinkan dan berapa banyak hotel yang Anda daftarkan, belum lagi bagaimana Anda menangani hotel duplikat.

Meskipun pada akhirnya Anda hanya memiliki sedikit opsi filter

  • Jenis properti :normalkan ini di tabel terpisah
  • Bedrooms :simpan ini sebagai tinyint atau smallint (entah unsigned), tidak bisa membayangkan ada properti di atas 255 kamar tidur, dan jelas tidak di atas 65k
  • Location :menormalkan ini dalam tabel terpisah, idealnya dalam format pohon untuk memastikan hubungan dicatat
  • Peringkat bintang :ini dapat disimpan sebagai tinyint unsigned

Sekarang masalah Anda di sini adalah jika seseorang menerapkan filter untuk 3 kamar tidur ke atas, Anda masih harus mendapatkan nilai untuk 2 kamar tidur, 1 kamar tidur, karena mengubah filter kembali ke itu akan memberikan hasil.

Pada akhirnya saya membahas ini menggunakan tabel memori yang sangat besar, beberapa logika untuk membangun pernyataan WHERE dan JOIN, dan kueri individu menghitung catatan dalam pengelompokan yang ditetapkan. Ini adalah untuk melakukan serupa dengan hasil pencarian liburan pengguna, dan karena itu data dianggap sepenuhnya sementara. Untuk tujuan Anda, tabel memori yang jauh lebih kecil mungkin dapat diterima, namun prinsipnya serupa.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Memotong Tabel di MySQL

  2. Mengakses database MySQL menggunakan c # pada unity?

  3. Jumlahkan hingga titik tertentu - MySql

  4. Kueri SQL untuk dipilih hingga SUM(users_count) mencapai 1000

  5. EF6 MySql:Update-Database -Script menghasilkan SQL tanpa titik koma