0

我有两张表,让它们成为datanewdata。我的查询应该从data中选择所有行,其中 double 类型的价格小于newdata中的另一个双字段价格。表中的每一行都由其主键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,然后用比较做选择,但这不应该更糟糕吗?并且:为什么这个比较这么慢?这是双重的吗,我应该使用 float 代替(如果更快的话)?

顺便说一下,需要在 MySQL 5.1 上工作。

4

0 回答 0