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

Bagaimana-untuk:Peringkat Hasil Pencarian

Anda dapat mencapai ini dalam satu kueri menggunakan 'UNION ALL' di MySQL.

Cukup ulangi token di PHP untuk membuat UNION ALL untuk setiap token:

misalnya jika tokennya adalah 'x', 'y' dan 'z', kueri Anda mungkin terlihat seperti ini

SELECT * FROM `entries` 
WHERE token like "%x%" union all 
    SELECT * FROM `entries` 
    WHERE token like "%y%" union all 
        SELECT * FROM `entries` 
        WHERE token like "%z%" ORDER BY score ect...

Klausa pesanan harus beroperasi di seluruh hasil yang ditetapkan sebagai satu, yang Anda butuhkan.

Dalam hal kinerja itu tidak akan terlalu cepat (saya kira), namun dengan database overhead utama dalam hal kecepatan sering mengirim kueri ke mesin database dari PHP dan menerima hasilnya. Dengan teknik ini, ini hanya terjadi sekali, bukan sekali per token, jadi kinerjanya akan meningkat, saya tidak tahu apakah itu cukup.



  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 Mendapatkan Catatan Antara 2 Tanggal di MySQL

  2. Menambahkan bidang alias MySQL bersama-sama

  3. Menyimpan hari dan bulan (tanpa tahun)

  4. ASP.Net / MySQL :Menerjemahkan konten ke dalam beberapa bahasa

  5. mysql_connect():Tidak ada koneksi yang dapat dibuat karena mesin target secara aktif menolaknya