我有一个包含超过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
如果有人可以提出任何其他建议,那么这将使我的工作更轻松。
答案 0 :(得分:1)
您正在使用sum函数,因此我假设此列的值是数字。 如果数据类型为十进制,则将数据类型更改为整数或浮点数。
由于MySQL不必在执行期间将其强制转换为数字,因此对数字的操作要比在字符串上快得多。