mysql中更快的分组?

mysql中更快的分组?,mysql,sql,database,Mysql,Sql,Database,我有一张这样的桌子 |customer_reference|date_and_time| 111 2013-01-01 111 2013-01-02 111 2013-01-03 222 2013-01-01 222 2013-01-02 333 2013-01-01 我想根据客户参考资料获取最后日期和时

我有一张这样的桌子

|customer_reference|date_and_time|
       111          2013-01-01
       111          2013-01-02
       111          2013-01-03
       222          2013-01-01
       222          2013-01-02
       333          2013-01-01
我想根据客户参考资料获取最后日期和时间的行。我写了一些查询,但速度很慢。我的问题是这样的

SELECT MAX(date_and_time) AS time
FROM t_table GROUP BY customer_reference

我在该表中有超过600.000行。

只需在列
customer\u reference
上添加索引,然后执行下面的查询

SELECT customer_reference, MAX(date_and_time) AS time
FROM t_table 
GROUP BY customer_reference

只需在列
customer\u reference
上添加索引,然后执行下面的查询

SELECT customer_reference, MAX(date_and_time) AS time
FROM t_table 
GROUP BY customer_reference

如果在表中添加索引,效果会更好

    ALTER TABLE `t_table` ADD INDEX `customer_reference` (`customer_reference`)

然后运行查询

如果向表中添加索引会更好

    ALTER TABLE `t_table` ADD INDEX `customer_reference` (`customer_reference`)

然后运行查询

索引是可以在MySQL表上启用以提高性能的功能

您必须在列
customer\u reference

如果我们在创建时没有定义索引,我们可以在以后使用以下语法添加索引:

CREATE INDEX id_index ON t_table(customer_reference);

索引是一种可以在MySQL表上启用的功能,可以提高性能

您必须在列
customer\u reference

如果我们在创建时没有定义索引,我们可以在以后使用以下语法添加索引:

CREATE INDEX id_index ON t_table(customer_reference);

问题是索引,或者缺少索引。请为相关表提供SHOW CREATE TABLE语句。为什么在
选择中没有customer_引用?问题在于索引或缺少索引。请提供相关表格的SHOW CREATE TABLE语句。为什么在
选择中没有customer_参考?虽然我同意您的回答,但让siriat了解一些关于如何阅读解释语句以及如何应用结果优化缺少索引的select查询的资料也会很有帮助。给一个人一条鱼。。。等一下,虽然我同意你的回答,但让siriat看一些关于如何阅读解释语句以及如何应用结果来优化缺少索引的select查询的资料也会很有帮助。给一个人一条鱼。。。等等,查询是否需要很多时间?我试过了,但执行起来时间很长。查询是否需要很多时间?我试过了,但执行的时间很长。