Php 一个单独的查询是否足够好,或者是否有某种连接我可以做?

Php 一个单独的查询是否足够好,或者是否有某种连接我可以做?,php,mysql,Php,Mysql,基本上,我有一个小型的“发票”类型的系统,其中我有一个MySQL表,用于单独的发票、发票行以及与每个发票关联的项目,有点像这样: 表格发票: fields: invoice_id | type | fees | comments | company -- 表1发票行: fields: id | invoice_id | name | description | quantity -- 表发票受影响的项目 fields: id | invoice_id | item_id 我可以将多个发票行

基本上,我有一个小型的“发票”类型的系统,其中我有一个MySQL表,用于单独的发票、发票行以及与每个发票关联的项目,有点像这样:

表格发票:

fields: invoice_id | type | fees | comments | company
--

表1发票行:

fields: id | invoice_id | name | description | quantity
--

表发票受影响的项目

fields: id | invoice_id | item_id
我可以将多个发票行和多个受影响的项目合并到一个发票id。在这种情况下,联接是最好的,还是应该将发票行合并到表中,并使用单独的查询检索受影响的项目


谢谢。

如果发票行和受发票影响的项目之间没有关系,我将进行两个单独的查询。

您可以加入,但这将导致提取大量额外数据。例如,如果您将这些行连接到发票上,您将多次拖动发票-每行一次


来回答你的问题。我会在单独的查询中进行

IMHO如果受影响的项目与发票行有一对一的关系(通过发票行.id=invoice\u受影响的项目.item\u id),您可以执行以下两种操作之一

要么保持当前设计,要么进行单独查询

或重新设计如下

  • 完全删除
    发票\u受影响的\u项目
  • 发票行
    表中添加
    发票受影响项目
    标志
  • 通过(受影响的发票项目,发票id)索引
    发票行
    by,了解哪些发票影响了项目
  • 通过(受影响的发票项目,id)索引
    发票行
    ,以了解哪些发票行是受影响的项目