使用两个表优化SQL“SELECT .. LIMIT”

时间:2015-09-23 15:38:11

标签: mysql sql select query-optimization

我有两张桌子:“用户”和“购买”。我写了这个简单的SELECT查询,它工作正常,但很长一段时间。我想优化我的查询。我找到了很多例子,但是没有ex(或者我没有找到)选择和比较两个表中的数据。这是我的疑问:

SELECT 
    purchase.user, purchase.price, users.login, users.id 
FROM 
    purchase, users 
WHERE 
    (purchase.user = users.id) AND (purchase.active = 1) 
ORDER BY purchase.time 
DESC LIMIT $page * $per_page, 15

1 个答案:

答案 0 :(得分:0)

可能有很多原因导致它变慢。这里只是一些。

  1. 你只有很多数据(数百万)。
  2. 没有索引。检查表上的索引。你有定义吗?
  3. 坏条款。尝试没有特定条款(例如没有DESC,没有ORDER)
  4. 硬件问题(它存储在磁盘非常慢的某个地方。)
  5. “很长一段时间”对你我来说是不同的。