【问题标题】:SQL: Performance of Multiple Joins on Same TableSQL:同一表上的多个连接的性能
【发布时间】:2012-02-13 04:25:27
【问题描述】:

Stack Overflow 的访问者,

我正在用 PHP 构建一个研究应用程序,用户可以在其中输入它自己的变量。这些变量通常是数字的。可以为每个数值附加一个文本标签,以提高数据的可读性。即记录显示为:


记录 1:值 0、值 1、值 1、值 3、值 2

记录2:..


代替:


记录 1:0、1、1、3、2

记录2:..


为了将数值数据转换为对应的标签,我必须对保存文本表示(标签)的(相同)表执行大量连接。我的问题是双重的:

  1. 在 MySQL 中对同一个表(别名)执行多个连接是否会对性能产生很大影响?
  2. 这种连接的最佳 SQL 语法是什么?

当然,我欢迎任何其他建议!

期待你的回答!

汤姆

【问题讨论】:

  • 删除了我的答案,但认为 OP 的这条评论值得在这里发布给其他人:“用户完全有可能拥有 100 个变量,每次检索一个变量时需要 100 次连接到标签表记录。我想知道仅通过 SQL(由于灵活性而首选)或执行两个单独的查询,用 PHP 中的标签替换数据,在性能上会有多大差异?"

标签: php sql performance label


【解决方案1】:

为什么没有这样的记录结构:

table `user_variables`:
    user_id   int
    var_name char,
    var_value char

不需要自连接,因为每个名称/值对都有自己的记录。

【讨论】:

    猜你喜欢
    • 2016-03-07
    • 2017-12-06
    • 1970-01-01
    • 2013-05-11
    • 1970-01-01
    • 2015-05-18
    • 2015-07-24
    • 1970-01-01
    相关资源
    最近更新 更多