php - 将 3 个 MYSQL 查询优化为一个

标签 php mysql sql inner-join

我的页面每天有超过 30mio 的浏览量,我无法缓存页面(数据必须始终是最新的)。

我想总结三个 MYSQL 查询。 这可能吗?

SELECT * 
FROM  `meta_holdings` 
INNER JOIN coins ON coins.cmc_id = meta_holdings.cmc_id
WHERE  `userId` = $userId
LIMIT 0 , 999

SELECT * 
FROM  `meta_watchlist` 
INNER JOIN coins ON coins.cmc_id = meta_watchlist.cmc_id
WHERE  `userId` = $userId
LIMIT 0 , 999

SELECT * 
FROM  `coins` 
ORDER BY  `coins`.`rank` ASC 
LIMIT 0 , 30

很高兴能得到任何帮助

最佳答案

单个查询返回单个数据集。通过查看您的三个查询,您似乎需要三个数据集。您无法通过合并查询来实现相同的功能。所以它看起来应该没问题,除非你改变了你的要求。或者,您可以查看 MySQL 的内部缓存。

关于php - 将 3 个 MYSQL 查询优化为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48125783/

相关文章:

php - 发布构建 PHP/MySQL 连接查询

条件为真时的总计数和计数的SQL

php - 表 A 中的一个字段在表 B + mysql + php 的一个字段中

MySQL合并两个表并排序?

mysql - SQL中如何使用IF THEN,具体场景

MYSQL匹配添加号码查询

PHP MYSQL 查询 - 从响应中删除列

php - 在单个表中显示多个表的数据

php - 如何将网页的结果嵌入到另一个网站的另一个网页中?

php - 尝试在页面和 fancybox 中显示相同的内容