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查询的资料也会很有帮助。给一个人一条鱼。。。等等,查询是否需要很多时间?我试过了,但执行起来时间很长。查询是否需要很多时间?我试过了,但执行的时间很长。