在SQL查询中正确使用索引

时间:2012-07-10 00:51:49

标签: php sql indexing

我对使用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));

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

由于 -Ryan

1 个答案:

答案 0 :(得分:1)

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

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

错了。

如果您的idtracker.date类型为DATEDATETIME,并且您想将其与另一个日期(NOW()减去某些内容)进行比较,则需要使用mysql { {3}}功能或类似的东西。