我的表中有300,000多行。我想删除重复的行和相同的数据。 所以我运行这些查询。
$sql=mysql_query("SELECT DISTINCT n1.id FROM dv2xp_adsmanager_ads n1, dv2xp_adsmanager_ads n2 WHERE n1.id < n2.id AND n1.ad_imgone = n2.ad_imgone AND n1.ad_text = n2.ad_text LIMIT $start,$limit ");
这些查询可以显示重复的行。但这非常慢,并且在我的服务器上将杯子使用量增加到100%。 如何解决这些问题?
答案 0 :(得分:0)
在不了解您正在使用的数据的情况下,我最好的猜测是您可以使用INNER和OUTER JOIN。 DISTINCT将根据主键带来独特的结果,但如果您有多个具有多个键的表,则结果可能不是最佳的。因此,最好使用JOIN来从每个表中提取基本数据。
这是一篇关于JOIN的好文章:What is the difference between “INNER JOIN” and “OUTER JOIN”?
我希望这些信息有助于您并使您朝着正确的方向前进。