-1

我有一个超过 1000 万行和 5 个字段(列)的表。有一个索引field_1,我正在运行以下查询:

CREATE table t2 
SELECT field_1,sum(field_2) AS field_2, 
       sum(field_3) AS field_3,
       sum(field_4) AS field_4 
FROM t1 
GROUP BY field_1;

field_1 的数据类型是 varchar(200) ,对于其他字段,它是 double 。

即使运行超过 1 天,此查询也无法产生结果。任何有关快速获得结果的建议都会有所帮助。

根据网络上提供的建议,我对 c:\xampp\mysql\bin 中的 my.cnf 文件进行了以下更改: key_buffer = 1G read_buffer_size = 256M read_rnd_buffer_size = 512M 我也这样做了。设置全局 key_buffer_size=256*1024*1024

如果有人可以提出其他建议,那真的会让我的任务更轻松。

4

1 回答 1

1

You are using sum function so I assume values of this columns are numbers. Change data type to integer or float if they are decimal.

Thanks to that MySQL won't have to cast it to number during execution and opration on numbers are much faster than on strings.

于 2013-04-14T16:30:34.367 回答