【问题标题】:Minimize, shorten, optimize, simplify repetitive mysql queries最小化、缩短、优化、简化重复的mysql查询
【发布时间】:2011-11-30 00:03:52
【问题描述】:

我需要一点帮助。我必须在我的数据库中查询其中一个表中的每个 ID,以获取该 ID 的特定数据。

我的查询如下所示:
SELECT fb_id, user_name FROM user WHERE user_id = X

我有数千个用户 ID,我必须为其运行此查询,我不喜欢在每次页面加载时运行数千个查询的想法。这是一个搜索页面,因此被大量使用。

有没有可能优化?

【问题讨论】:

  • “我不喜欢在每次页面加载时运行数千个查询的想法”为什么现在需要这样做?
  • 你说这是一个搜索页面,那么为什么不JOIN 数据而不是查询每个结果呢?

标签: php mysql optimization


【解决方案1】:

如果您真的对user_id 的不同值运行同样的简单查询,为什么还要使用WHERE 子句呢?只需使用 user_id 选择所有行(或您需要的任何子集),然后将它们提取到应用程序代码中的数组中。

SELECT user_id, fb_id, user_name FROM user

【讨论】:

    【解决方案2】:

    我的赌注

    SELECT fb_id, user_name FROM one_of_my_tables o LEFT JOIN user u ON o.uid=u.id 
    

    我认为在每次页面加载时都运行这个没有任何意义。

    【讨论】:

      【解决方案3】:
      1. 在“user_id”上放一个键
      2. 在查询末尾添加LIMIT 1(这是唯一的,对吗?)

      【讨论】:

      • 要添加...以及有关您何时以及为何调用查询的更多信息,也许我们可以一起减少调用次数。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-22
      • 2011-07-07
      • 2018-12-21
      相关资源
      最近更新 更多