用年份和年份ID号做为主键,还有一个处理状态的tinyint型字段。如何设计索引?如何分页?如何让年份ID自动增长? 
年份     年份ID    处理状态
2013      1        32013      2        42013      3        32013      4        22013      5        1

解决方案 »

  1.   

    year与id既然为联合主键,默认是聚集索引,
    如果type经常参与查询筛选的话加一个非聚集索引也可以
    创建id时设置为identity标识就可以自增了
      

  2.   

    你这样别搞自增长了,到时一旦delete了数据你的年份就不连续了。使用日期函数来处理吧。设计不合理,也不是说不合理,但是别用自增。年月分开是可以的。索引的话年月做一个聚集索引。而非聚集索引的话需要根据你的查询来定。至于分页,不知道你想怎么查
      

  3.   

    分页的还是会先找出全部然后再做二次筛选的,所以避免不了,但是分页可以减少前端的压力,
    第一步:通过where条件找出这100000条
    第二步:可以到网上搜一下分页存储过程来改一下。
      

  4.   


    网上找了一个,利用min 和 top, 对于性能有改善,但只是针对于单列ID自动增长的主键设置定的。对于这样的双列主键暂时还没有。
      

  5.   

    如果是2005以上,在查询的时候使用select row_number() over(order by 年份,年份ID )id ,* from tb
    即可生成一个自增ID。