【发布时间】:2017-06-26 19:00:02
【问题描述】:
我想创建 SQL 索引以加快速度,例如在数据库中搜索“系列值”。每个Value 都属于一个Series,并且有一个日期:
@Entity
class Series { … }
Value {
Series series;
Date date;
…
}
有数百个系列,每个系列都有数千个值。
我经常执行两种类型的搜索:
1) 搜索属于某个系列的所有值(无论其日期如何)。
2) 搜索属于某个系列且在某个特定日期间隔内的所有值。
我可以创建两个 SQL 索引,一个仅在 series 列上,另一个在 series 和 date 列上。使用 Hibernate 这将是:
@Table (indexes = {
@Index (name = "idx1", columnList = "series"),
@Index (name = "idx2", columnList = "series, date")
})
我的问题是:如果我同时创建这两个索引,搜索是否会更快,或者如果我只创建一个这样的索引,搜索是否一样:
@Table (indexes = {
@Index (name = "idx", columnList = "series, date")
})
【问题讨论】:
-
您使用的是哪个版本的 SQL?
标签: sql database-performance database-indexes