Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Sử dụng IN với truy vấn con không sử dụng chỉ mục

Bạn có thể xem câu trả lời cho câu hỏi này Bạn sẽ có những ý tưởng hay.

Tôi đang trích dẫn một số câu trả lời

Tóm lại, hãy thử ép buộc chỉ mục:

SELECT *
FROM mapping_channel_fqdn_virtual_host FORCE INDEX (name of the index you want to use)
WHERE (mapping_channel_fqdn_virtual_host.id IN (1,2,3,4,5,6,7,8,9,10));

Hoặc sử dụng JOIN để thay thế và xem giải thích

SELECT * FROM mapping_channel_fqdn_virtual_host mcf
JOIN (select max(id) as ids from mapping_channel_fqdn_virtual_host group by channel_id, fqdn_virtual_host_id)) AS mcfv 
ON mcf.id = mcfv.ids;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cakephp 3.0 nhận các giá trị trong hai cột làm một

  2. Máy chủ MySQL đã biến mất trong quá trình thu thập dữ liệu trong Perl

  3. Vấn đề trên KEY DUPLICATE + AUTO INCREMENT mysql

  4. Cách tạo menu thả xuống

  5. Làm cách nào để sử dụng $ db từ .php khác sang lớp .php khác bằng OOP?