gpt4 book ai didi

php - 从多个表中加速 SELECT

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

我需要加速 sql 查询。或者更好地处理 php 代码。搜索数据库并在前端显示结果时的一些最佳实践。

基本上我有三个表 - 包含记录的盒子 - 记录,包含歌曲 - 歌曲

我希望我的前端代码列出如下内容:

Box 1
-Record 1
--Song 1
--Song 2
etc....
-Record 2
--Song 1
--Song 2
etc....
Box 2
-Record 1
--Song 1
--Song 1
etc. etc. etc.

“我的方式”非常耗时:

  1. 我使用标准 SQL 搜索“Box”表。
  2. 对于每一行,我调用一个函数来查找该框的每条记录
  3. 对于每条记录,我调用一个函数来查找该记录的每首歌曲

由于选择调用的数量巨大(很多盒子,很多记录),所以需要很长时间才能完成

我想有一个更简单的方法(从服务器的角度来看)来做同样的事情。将 dato 拉到 php 数组和那里的逻辑或其他聪明的东西。

问题:使用 php 从关系数据库获取数据的最佳做法是什么?

Br。安德斯

最佳答案

您需要了解JOIN。在这里,您将使用两个外部联接。这样一来,您只需使用一个选择查询即可获得相同的结果,并且 PHP 和 MySQL 必须完成的工作量要少得多。

您的 SQL 看起来像这样:(请注意,我使用 SELECT * 作为真实列列表的替代,因为我不知道您有哪些列 - 使用 SELECT * 通常不是一个好主意)

SELECT
*
FROM
Box
LEFT JOIN Record ON Box.BoxID = Record.BoxID
LEFT JOIN Song ON Record.RecordID = Song.RecordID

关于php - 从多个表中加速 SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7963843/

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