0

我对使用 SQL 有点陌生,我正在尝试运行一个查询,比较两个单独表中的两个值。我已经索引了正在使用的列,但我不完全确定索引是如何工作的。我将它嵌入到 PHP 中,当我尝试运行查询时,它目前需要很长时间(有时甚至超时)。这两个表各有大约 250k 行,因此查询不应该太大。这是我的代码:

$users1 = mysql_num_rows(mysql_query("SELECT DISTINCT idtracker.uuid
  FROM idtracker, download_tracker 
  WHERE idtracker.uuid = download_tracker.pluginId
  && idtracker.date > (NOW() - (2000000))", $con));

我不确定像我在这里做的那样直接比较两行是否非常有效。如果我能深入了解我可以做些什么来提高这个查询的速度,那将非常有帮助。

谢谢-瑞恩

4

1 回答 1

1

在进行任何真正的测试/优化之前,您需要修复查询:

idtracker.date > (NOW() - (2000000))

是错的。

如果你idtracker.date的类型是DATEorDATETIME并且你想将它与另一个日期(NOW()减去一些东西)进行比较,你需要使用 mysqlDATE_ADD函数或类似的东西。

于 2012-07-10T01:02:10.213 回答