非常慢的SQL连接

时间:2013-02-25 12:21:52

标签: php mysql phpmyadmin

我有2个巨大的mysql表:

  • userdetails :ID,姓名,地址,国家/地区
  • userdata :id,productname,producturl,price

我想从userdata创建一个Excel工作表,其中id是userdetails中user的ID,其中country是西班牙,所以我们有:

id, name, address, country, productname, producturl....

会简单加入帮助吗?我尝试但挂起我的系统,因为我在userdata中有500万条记录,在userdetails中有20,000条记录。

我可以在phpMyadmin中执行此操作吗?或者用php更好?什么是最佳的优化脚本?

SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name=table_name2.column_name

1 个答案:

答案 0 :(得分:5)

  

是一个简单的加入帮助吗?

  

我试过但挂起了我的系统,因为我在userdata中有500万条记录,在userdtails中有20,000条记录。

5M记录并不多。如果你正确地加入了表,并且有适当的索引,那么这个查询应该在很短的时间内执行。

  

我可以在phpMyadmin中执行此操作吗?

你绝对可以在那里执行查询。根据{{​​3}} a comment,您甚至可以将结果保存为CSV,以便稍后可以在Excel中打开它,至少在最近的版本中是这样。

  

还是用php更好?

仅当您要求通过HTTP返回结果时。

  

使用的最佳优化脚本是什么?

您可以使用命令行mysql客户端和Bojan Kovacevic将结果保存为CSV文件,然后可以在Excel中打开。