[英]Query design, temporary table? MySQL
我有两个表,用户和事件,我想从USERS表中选择例如6个用户,并按照事件日期的时间顺序列出所有事件
桌子设计:
USERS EVENTS
user_id >>>> user_id
event_title
event_date
我是否将所有事件都选择到临时表中,然后使用“ order by”进行查询,还是在查询本身中有更有效的方法?
这将从用户表中选择六个任意用户,并获取所有事件:
SELECT user_id, event_title, event_date
FROM EVENTS
WHERE user_id IN
(
SELECT user_id
FROM USERS
LIMIT 6
)
ORDER BY event_date
您应该更改子选择,以根据所需条件选择六个特定用户,而不是仅使用MySQL找到的前六个用户。
您应该添加索引以确保其有效运行。 使用EXPLAIN SELECT ...
检查正在使用的索引。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.