MySQL:巨大的表之间的比较

时间:2014-12-20 20:33:20

标签: mysql sql query-optimization mysql-5.1

我有两张桌子,让他们成为数据 newdata 。我的查询应选择 data 中的所有行,其中double类型的 price 小于 newdata <中的另一个双字段价格 / em>的。表中的每一行都由其主键 articleno 标识。

我这样做的查询看起来像这样(不是实际的查询,因为在实时场景中有更多列可供选择,但比较基本上是这样的):

SELECT
    data.articleno,
    data.articledesc
    data.price
FROM
    data,
    newdata
WHERE
    data.articleno = newdata.articleno
    AND data.price < newdata.price

限制设置为10或小表,这可以正常工作。但我需要处理的表格大小可达120k行。我最后一次在包含50k行的两个表上运行此查询时,花了大约180秒来获取所有数据。

问题:如何加快速度?我想做一个JOIN,然后用比较做选择,但是这不应该更糟吗?并且:为什么这个比较慢?这是双重的,我应该使用浮点数(如果更快)?

顺便说一下,需要使用MySQL 5.1。

0 个答案:

没有答案