gpt4 book ai didi

php - 左连接VS内连接较少行数mysql pdo php

转载 作者:行者123 更新时间:2023-11-29 12:01:04 26 4
gpt4 key购买 nike

"SELECT *
FROM property t1
LEFT
JOIN address t2
ON t1.pin = t2.pid
AND t1.status = t2.status
LEFT
JOIN ownerinfo t3
ON t1.pid = t3.pid
AND t1.status = t3.status
LEFT JOIN boundaries t4
ON t1.pid = t4.pid
AND t1.status = t4.status
LEFT
JOIN status t5
ON t1.pid = t5.pid
AND t1.status = t5.status
LEFT
JOIN references t6
ON t1.pid = t6.pid
AND t1.status = t6.status
LEFT
JOIN classification t7
ON t1.kind = t7.sysid
LEFT
JOIN oaddress t8
ON t1.basicinfo_id = t8.basicinfoid
LEFT
JOIN obasicinfo t9
ON t1.basicinfo_id = t9.id
WHERE t1.pid = :pid
AND t1.status = :status
"

这是我对左连接的查询。我使用左连接主要是因为在某个时间或实例中,其中一个表中不会有与其他表相关的数据。但我还需要获取相关的数据。如果我使用 INNER JOIN 的话,我将无法得到结果。目前 LEFT JOIN 可以完成这项工作。但我得到了太多的 rowcount() 以至于我内存不足。对于 2 条目,在某些实例上我得到 6144 记录,在其他实例上我得到 12288 ,这就是我得到内存不足的地方(取决于哪个表有数据、哪个表没有数据的组合)。

  1. 我应该在插入期间填写所有表格并使用INNER JOIN吗?
  2. INNER JOIN 会减少或减少 rowcount() 的数量吗?
  3. 最适合获得更少 rowcount() 的查询是什么?

更新

  1. t1 有 2 个条目
  2. t2 有 1 个条目
  3. t3 有 2 个条目
  4. t4 有 1 个条目
  5. t5 和 t6 没有条目
  6. t7 有 15 条记录
  7. t8 有 21 个条目
  8. t9 有 12 个条目

最佳答案

它取决于您的表结构,也许左表中很少有值返回几次,并且比您收到的笛卡尔值还要少

关于php - 左连接VS内连接较少行数mysql pdo php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32376137/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com