【发布时间】:2016-04-09 05:59:39
【问题描述】:
我正在 MySQL 数据库上处理超过 40M 条记录。场景如下:
给定 2 个结构相同的表,包含超过 4000 万条价格信息记录:
表 1
product_id price date
101 5.7 2016/1/1
102 11.6 2016/1/1
104 8 2016/1/1
… … …
表 2
product_id price date
101 5.9 2016/1/2
103 20.3 2016/1/2
104 8 2016/1/2
… … …
我正在寻找两个表上存在多少 product_id,我正在使用以下查询进行搜索:
SELECT count(*) FROM t1 a,t2 b where a.product_id=b.product_id ;
SELECT count(*) FROM t1 a,t2 b on a.product_id=b.product_id ;
需要半个多小时才能得到结果,有什么方法可以提高性能吗?
【问题讨论】:
-
查阅说明及索引的使用
-
问题缺少表结构、有问题的存储引擎、
EXPLAIN的输出和正在使用的硬件。性能取决于许多因素,而不仅仅是您的查询和记录数量。硬件起着巨大的作用。
标签: mysql database performance