比较mysql -indexes中的两个字段?

时间:2009-03-31 17:44:56

标签: mysql indexing

我很确定我知道答案,但任何想法都会非常有用......

首先,这是MySQL 5.1.32社区。我有一个大表(数百万行,不能减小大小 - 即减小的大小),相关字段是两个日期时间字段。我们称之为date1和date2。我需要运行一个返回所有行的select查询(实际上是UUID varchar(40),其中date1> date2。

SELECT id FROM table1 WHERE date1 > date2;

跑步需要太长时间(2分钟)。日期的索引本身显然什么都不做。没有存储两个日期之间的差异并索引 - 任何减少查询时间的方法?这似乎是一个基本问题,但我总是想知道我是否只是错过了一些东西......

2 个答案:

答案 0 :(得分:1)

你有没有计算一下,看看是否真的有这么多的数据被归还需要很长时间才能全部归还?

select count(ID) from table1 WHERE date1 > date2;

查询看起来很简单,您的数据量可能就是问题所在。

答案 1 :(得分:0)

我试图找到自己的答案。

但我有一个线索:功能指数。

我在Oracle Dbs上使用过它。

但接缝MySQL缺乏支持:

Is it possible to have function-based index in MySQL?