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

Mencampur hasil kategori yang berbeda, diurutkan berdasarkan skor di MySQL

Dapatkan 20 teratas. Jika mereka tidak memenuhi persyaratan, lakukan kueri tambahan untuk mendapatkan bagian yang hilang. Anda harus dapat menemukan keseimbangan antara jumlah kueri dan jumlah baris yang dikembalikan setiap kali.

Jika Anda mendapatkan 100 teratas, itu mungkin memenuhi persyaratan 90% dari waktu dan akan lebih murah dan lebih cepat daripada 10 kueri terpisah.

Jika SQL Server saya bisa membantu lebih...

Sebenarnya, saya punya ide lain. Jalankan proses setiap 5 menit yang menghitung daftar dan menyimpannya di dalam tabel. Membuat DML terhadap tabel terkait membatalkan cache sehingga tidak digunakan sampai diisi ulang (mungkin artikel telah dihapus). Jika cache tidak valid, Anda akan kembali menghitungnya dengan cepat... Dan tetap dapat menggunakannya untuk mengisi kembali cache.

Dimungkinkan untuk memperbarui daftar cache secara strategis daripada menghitung ulang. Tapi itu bisa menjadi tantangan nyata.

Ini akan membantu baik dengan kecepatan kueri dan mengurangi beban pada database Anda. Seharusnya tidak masalah jika daftar artikel Anda 5 menit dari tanggal. Heck, bahkan 1 menit mungkin berhasil.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL setara dengan tabel memori MySQL?

  2. cara mengekstrak bidang nilai xml dengan di sql server (fungsi ekstrak nilai di mysql)

  3. Bagaimana cara mengoptimalkan basis data kueri ini dalam basis data besar?

  4. Akses ditolak membuat basis data awal - bagaimana cara memberikan akses yang benar?

  5. Mengubah tahun di tanggal mysql