Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql “优化SQL”;选择。。“限制”;有两张桌子_Mysql_Sql_Select_Query Optimization - Fatal编程技术网

Mysql “优化SQL”;选择。。“限制”;有两张桌子

Mysql “优化SQL”;选择。。“限制”;有两张桌子,mysql,sql,select,query-optimization,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 (pu

我有两张桌子:“用户”和“购买”。我已经编写了这个简单的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

它慢的原因有很多。这里只是一些

  • 你只是有很多数据(数百万)
  • 没有索引。检查表上的索引。你对它们有定义吗
  • 坏条款。在没有特定条款的情况下尝试(例如没有说明,没有顺序)
  • 硬件问题(它存储在磁盘速度非常慢的地方。)
  • “很长时间”对你和我来说是不同的

  • 有几千人在使用和购买。在偏移量为0的“长时间”中显示一页大约需要15秒?请提供
    SHOW CREATE TABLE
    您是否尝试对您的查询运行一个开始?