查询永远不会返回phpmyadmin

时间:2012-12-10 09:31:22

标签: mysql sql phpmyadmin

当我在本地尝试以下内容时,没有结果也没有错误:

 select
  a,
  bunch,
  of,
  fields
    from import where id in (
        SELECT distinct t1.id
        FROM import t1 inner join import t2 
        on t1.programid = t2.programid and t1.sku = t2.sku 
        where t1.lastupdated < t2.lastupdated   
    )

此查询是将旧记录复制到归档的查询的一部分,这是fetchng需要移动的数据的部分。

当我在cpanel中运行整个事情时,phpmydmin没有任何反应,没有错误,也没有记录被复制,当我运行只获得数据没有返回的statament时,页面只会加载并且&# 39; s。

有超过一百万条记录和2/3需要存档,我必须使用具有phpmyadmin的cpanel,但认为它不适合运行这样的查询。当与&#34结合使用时,插入&#34;上面的语句将phpmyadmin会话锁定2小时但没有复制记录。

1 个答案:

答案 0 :(得分:1)

我有phpmyadmin在查询某些版本的子选择上执行此操作。

然而,试试这个SQL,它应该做同样但可能更有效。

SELECT a, bunch, of, fields
    FROM import 
    INNER JOIN (SELECT distinct t1.id
        FROM import t1 inner join import t2 
        on t1.programid = t2.programid and t1.sku = t2.sku 
        where t1.lastupdated < t2.lastupdated ) Sub1
    ON import.id = Sub1.id

编辑添加以下代码以检索每个programid / sku没有最新lastupdated的记录

SELECT a, bunch, of, fields
FROM import 
LEFT OUTER JOIN (SELECT programid, sku, MAX(lastupdated) AS lastupdated FROM import GROUP BY programid, sku) Sub1
ON import.programid = Sub1.programid AND import.sku = Sub1.sku AND import.lastupdated = Sub1.lastupdated
WHERE Sub1.programid IS NULL