我正在尝试运行此查询:
SELECT
COUNT(events.event_id) AS total_events,
COUNT(matches.fight_id) AS total_matches,
COUNT(players.fighter_id) AS total_players,
COUNT(DISTINCT events.organization) AS total_organizations,
COUNT(DISTINCT players.country) AS total_countries
FROM
events, matches, players
这些是表格详细信息:事件 = 21k 玩家 = 90k 比赛 = 155k
所有这些都是唯一的,因此查询的前三件事将是这些数字。其他两个值应该是 total_organizations,其中组织列在事件中(应该返回几百),total_countries 应该使用玩家表中的国家列计算不同的国家(也是几百)。
所有这三个 ID 列都是唯一的且已编入索引。
这个查询现在需要永远。我什至没有耐心看到它完成。有没有更快的方法来做到这一点?
另外,我需要在每次页面加载时加载这些结果,所以我应该将此查询放在某个隐藏文件中,并设置一个 cron 作业以在每个午夜或某事运行并填充“总计”表或其他内容,以便我可以检索它从那张桌子上快吗?
谢谢!