【发布时间】:2020-12-28 06:26:45
【问题描述】:
我有一个 Spring Boot 应用程序。有一个表(比如发票)有financial_year 列、invoice_date 列和其他列。我必须对此表进行SELECT 查询以获取给定财政年度的所有记录,并且还会有其他 where 条件。
我的问题是这两个查询中哪一个具有更好的性能,或者有没有其他方法可以达到相同的效果?
startDate 和 endDate 将分别是财政年度的开始日期和财政年度的结束日期。 financialYear 的格式为“2020_2021”。 invoiceDate 只是 datetime 的日期部分。
SELECT * FROM invoices WHERE invoice_date BETWEEN :startDate AND :endDateSELECT * FROM invoices WHERE financial_year = :financialYear
我的应用程序完全不同。它有路由数据源,它支持 MSSQL、MySQL、PostgreSQL 和 Oracle,基于我们在不同平台上提到的数据库的用户。所以我必须考虑性能。
【问题讨论】:
标签: mysql sql-server oracle postgresql query-performance