【问题标题】:MYSQL Search query taking too long in php. Server times outMYSQL 搜索查询在 php 中花费的时间太长。服务器超时
【发布时间】:2014-05-22 08:51:38
【问题描述】:

我有一个包含大约 50 列和 30,00,000 个条目的表 sub_mastersheet。我正在尝试在其中运行一个查询,该查询花费的时间太长并且服务器超时。该表上的所有其他查询都运行良好。

这是我的查询:

SELECT * FROM sub_mastersheet WHERE contributor_name1 = '$author' OR contributor_name2 = 
'$author' OR contributor_name3 = '$author';

我也试过了:

SELECT * FROM sub_mastersheet WHERE CONTAINS(contributor_name1, '$author');

以上两个查询都不起作用,服务器总是超时。即使在我的管理员 PHP 上,这些查询也需要大约一个小时才能执行。有人可以帮忙吗?

【问题讨论】:

  • 每个contributor_name 字段的索引?
  • 你有索引吗?您真的需要检索该表中的所有列吗?
  • 这就是问题所在。我没有任何索引,所以我不能使用全文索引。我只需要一栏。 ISBN13
  • 结果中有多少行?什么是contributor_name 1、2、3 基数?
  • 基数不是固定的,你可以说。它们通常从正常到非常高不等。结果取决于基数。结果可能从 1 到 11000 不等

标签: php mysql sql search search-engine


【解决方案1】:

在列上添加索引 (contributor_name2,contributor_name2)

它将提高您的查询性能。

【讨论】:

  • 是的。我知道。我正在寻找除了全文索引之外是否还有其他方法可以加快搜索速度。非常感谢
  • 你用的是哪个引擎?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-08
  • 2012-09-03
  • 2019-12-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多