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

Mengoptimalkan kueri untuk elemen berikutnya dan sebelumnya

Berikut adalah ide. Anda dapat memindahkan operasi mahal ke pembaruan saat penjual memasukkan/memperbarui penawaran baru daripada saat pengguna akhir memilih data untuk dilihat. Ini mungkin tampak seperti cara non-dinamis untuk menangani data pengurutan, tetapi dapat meningkatkan kecepatan. Dan, seperti yang kita ketahui, selalu ada trade off antara kinerja dan faktor pengkodean lainnya.

Buat tabel untuk menampung berikutnya dan sebelumnya untuk setiap penawaran dan setiap opsi pengurutan. (Atau, Anda dapat menyimpan ini di tabel penawaran jika Anda akan selalu memiliki tiga opsi pengurutan -- kecepatan kueri adalah alasan yang baik untuk mendenormalisasi database Anda)

Jadi Anda akan memiliki kolom ini:

  • Jenis Pengurutan (Tidak Disortir, Harga, Kelas, dan Desc Harga)
  • ID Penawaran
  • ID Sebelumnya
  • ID Berikutnya

Ketika informasi detail untuk halaman detail penawaran ditanyakan dari database, NextID dan PrevID akan menjadi bagian dari hasil. Jadi, Anda hanya perlu satu kueri untuk setiap halaman detail.

Setiap kali penawaran dimasukkan, diperbarui, atau dihapus, Anda perlu menjalankan proses yang memvalidasi integritas/akurasi tabel sorttype.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa yang Harus Diperiksa jika Pemanfaatan Memori MySQL Tinggi?

  2. 4 Alat Baris Perintah yang Berguna untuk Memantau Kinerja MySQL di Linux

  3. Beberapa formulir dan satu halaman pemrosesan

  4. fetchAll fungsi pembantu menggunakan PDO

  5. Kesalahan muncul dalam kode mysqli dan call_user_func_array()