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

Các vấn đề để tối ưu hóa cấu trúc bảng và truy vấn lớn

Thay vào đó, bạn có thể lưu 2 lựa chọn bên trong bằng cách sử dụng JOIN, điều này chắc chắn sẽ tăng tốc mọi thứ trong cả hai trường hợp (genre_id = 300genre_id = 900 ).

SELECT  
    st.sid, st.title, st.sinopse,  
    (SELECT GROUP_CONCAT(CAST(genre_id AS CHAR)) FROM fanfiction_stories_genres WHERE sid = st.sid) as genres,  
    stats.reviews, stats.recomendacoes,  
    (SELECT GROUP_CONCAT(CAST(warning_id AS CHAR)) FROM fanfiction_stories_warnings WHERE sid = st.sid) as warnings_ids  
FROM  
    fanfiction_stories AS st  
    LEFT JOIN fanfiction_stories_stats AS stats ON st.sid = stats.sid  
    JOIN fanfiction_stories_warnings w ON st.sid = w.sid AND w.warning_id = 5
    JOIN fanfiction_stories_genres g ON st.sid = g.sid AND g.genre_id = 300
GROUP BY st.sid
ORDER BY st.sid ASC  
LIMIT 20  



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cách hiển thị toàn bộ biến với khoảng trắng trong hộp văn bản trong php

  2. Cần sự trợ giúp của chuyên gia để giải quyết thay đổi nhỏ trong truy vấn dữ liệu không gian

  3. Lỗi kết hợp bất hợp pháp của lỗi đối chiếu từ MySql khi chạy bộ thử nghiệm rails

  4. Ràng buộc về chìa khóa ngoại lai của MySQL

  5. Cách chạy cùng một truy vấn với nhiều bảng trong cơ sở dữ liệu