出于研究原因,我需要在表格中输出一个大型数据集,我在本地服务器上工作。 我先写了这段代码
mysqli_query($con,"SELECT xxx, yyy, zzz FROM table1 ORDER BY xxx ASC LIMIT 0, 100");
没关系,输出值需要一瞬间。 问题是我需要将 table1 连接到同一数据库的另一个表,所以我这样做
mysqli_query($con,"SELECT xxx, yyy, zzz FROM table1 INNER JOIN table2 ON table1.yyy=table2.yyy ORDER BY xxx ASC LIMIT 0, 100");
查询永远停滞不前。
是否有编码错误?我认为不是,因为我在具有相同表结构的较小数据库上执行了相同的查询并且它有效。
所以,我想问题是当我执行连接时,table2 中的所有值都被调用,而我可怜的本地服务器无法完成查询(另外,我注意到使用了大量磁盘空间,当执行第二个查询时,我会谈论几 GB 的空间)。
有什么方法可以像我对表 1 所做的那样从表 2 中只选择几条记录吗?我的意思是像 SELECT xxx, yyy, zzz FROM table1
和 SELECT yyy, www, aaa FROM table2
并加入这些值。
谢谢大家!
最佳答案
我觉得是场冲突,
尝试
mysqli_query($con,"SELECT xxx, yyy, zzz FROM table1 INNER JOIN table2 ON table1.yyy=table2.yyy ORDER BY YOUR_TABLE.xxx ASC LIMIT 0, 100");
关于php - 内部 JOIN 性能 : can I select only few values?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19490395/