我很难给这个问题命名,但我希望它是合适的。
我有一个事务表,每个事务都有一个Date列(类型为Date)。
我想运行一个查询,按日期获取最近的100个事务(ORDERBY查询足够简单)。
我的问题是,为了使这成为一个非常便宜的操作,对我的整个表排序是否有意义,这样我每次只需要选择前100行,或者我只是在日期列上创建一个索引?不确定第一个选项是否可行和/或良好的sql db实践。
我很难给这个问题命名,但我希望它是合适的。
我有一个事务表,每个事务都有一个Date列(类型为Date)。
我想运行一个查询,按日期获取最近的100个事务(ORDERBY查询足够简单)。
我的问题是,为了使这成为一个非常便宜的操作,对我的整个表排序是否有意义,这样我每次只需要选择前100行,或者我只是在日期列上创建一个索引?不确定第一个选项是否可行和/或良好的sql db实践。
1条答案
按热度按时间b91juud31#
您可以在包含日期和查询的列上添加索引:
另一个想法的问题是表中没有明确定义的顺序,每个
UPDATE
都会改变这个“顺序”,即使不做任何修改,顺序扫描也不需要从表的开头开始。