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

Mengoptimalkan kueri MySQL dengan operator IN

Indeks pada categoryId tidak akan membantu dalam kasus ini, kueri IN (...) akan menghasilkan pemindaian urutan alih-alih pencarian indeks.

Saya akan mempertimbangkan untuk mendesain ulang sistem terlebih dahulu untuk menyingkirkan beberapa pemilihan kategori dan jika tidak sesuai, menyimpan hasil kueri.

Misalnya, Anda dapat membuat tabel pembantu items_category_groups(hash, item_id) dan setelah permintaan klien pada beberapa kategori meng-hash id gabungan mereka dan mencari tabel ini. Jika tidak ditemukan, buat kueri mahal dan isi tabel ini. Jika ditemukan, buat kueri murah untuk bergabung dengan tabel ini. Alat caching lainnya seperti memcached juga akan berfungsi.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. apakah penataan SQL semacam ini (dalam database mysql) efisien dalam model dunia nyata?

  2. Bagaimana cara membuat daftar kueri yang di-cache di MySQL? (Qcache_queries_in_cache)

  3. Sejumlah besar teks - mysql atau flatfile?

  4. Sanitasi input tetapi output tidak seperti yang diharapkan

  5. Menggunakan PHP untuk mengambil baris pertama dari file CSV dan membuat Tabel MySQL dengan data