id (员工ID) | qua (季度) | mon (月) | ten (旬) | part1 (零件1) | part2 (零件2) | part3 (零件3) |
100010 | 1 | 1 | s | 1 | 1 | 2 |
100020 | 1 | 2 | z | 2 | 2 | |
100010 | 2 | 4 | x | 3 | 1 |
每年的数据存放在一张表,员工可能在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,则不能用上这个索引。