sql - 如何使用 group by 语句 + max 函数加速 SQL 查询?

标签 sql oracle

我有一个包含数百万行的表,我需要执行许多类似于以下内容的查询:

select max(date_field) 
where varchar_field1 = 'something' 
group by varchar_field2;

我的问题是:
  • 有没有办法创建一个索引来帮助这个查询?
  • 我必须使用哪些(其他)选项来增强此查询的性能?
  • 最佳答案

    (varchar_field1, varchar_field2, date_field)上的索引将是最有用的。数据库可以将第一个索引字段用于 where条款,第二个为group by ,第三个计算最大日期。它只需使用该索引即可完成整个查询,而无需查找表中的行。

    关于sql - 如何使用 group by 语句 + max 函数加速 SQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1739068/

    相关文章:

    mysql - 简单存储过程的排序规则的非法混合

    java - JdbcOdbcDriver.finalize() 行 : 96 中的未知 NullPointerException

    oracle 10g 的 android odbc 连接

    mysql - sql 显示基于计算列的分区与 mysql

    sql - 如何修复 'missing FROM-clause entry for table' ?

    javascript - 在 HTML5 中从 sql 检索数据

    sql - 从 SQL Server 中的日期检索年份和周数

    oracle - Oracle中触发更新,变异错误

    mysql - 从 MySQL 到 Oracle(NOW() 和自动增量 ID)

    ORACLE PL/SQL : Testing SELECT FOR UPDATE in Oracle SQL Developer