有请达人帮助设计索引(续)

 

id

(员工ID)

qua

(季度)

mon

(月)

ten

(旬)

part1

(零件1)

part2

(零件2)

part3

(零件3)

10001011s112
10002012z2 2
10001024x31 

 

每年的数据存放在一张表,员工可能在10万左右,读取时,主要关心某季/月/旬、某零件生产数量排名前一百的员工。

索引设计如下:

(qua,part1)(mon,part1)(mon,ten,part1)(qua,part2)。。。

这样设计是否合理?

(mon,ten,part1)与(ten,part1,mon)是否一样?

索引倒序顺序是否有影响?

请达人多多指教,谢谢。

[quote]索引倒序顺序是否有影响?
实际上想问的是在这个例子中desc是否回比asc快?[/quote]

会有一点点差别,如果你查询是要desc,而索引又是desc,那就不用再排序了。否则要排一次序,但倒过来的排序也是很快的,基本上体验不到差距。

[quote]这样设计是否合理?[/quote]
可以这样设计。

[quote](mon,ten,part1)与(ten,part1,mon)是否一样?
索引倒序顺序是否有影响?[/quote]
对于查询条件中同时存在这三个,则是一样的。

以(mon,ten,part1)为例,如果查询条件只有mon,或者有mon和ten或part1中的一个,那也可以用上这个索引,但如果查询条件中没有mon,则不能用上这个索引。