加快查询速度

时间:2013-04-14 16:19:59

标签: mysql

我有一个包含超过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 我也这样做了。     SET GLOBAL key_buffer_size = 256 * 1024 * 1024

如果有人可以提出任何其他建议,那么这将使我的工作更轻松。

1 个答案:

答案 0 :(得分:1)

您正在使用sum函数,因此我假设此列的值是数字。 如果数据类型为十进制,则将数据类型更改为整数或浮点数。

由于MySQL不必在执行期间将其强制转换为数字,因此对数字的操作要比在字符串上快得多。