仅根据你的数据可以这样建议:
1. 建立计算列, 列定义为:
yearmonth as CONVERT(char(6), 消费日期, 112)
2. 建立 购物人员id + 计算列 的复合索引
这样只需要通过复合索引就可以为你的查询提供所需要的信息

解决方案 »

  1.   


    我不知道以前的SQL语句是如何写的。
    也不知道,你的表结果是如果设计的。这个想提高查询速度,比较困难啊。不过,我有一个比较笨的建议:如果你经常要查询 大于30次的购物人数的话,那你可以,在表里面建立一个字段,用于记录,当前是第多少此消费。(当然这个字段你可以认为是个冗余字段,不过对于大量、多表的分析,在速度上是非常明显的)你可以试试。我在我的系统里面就有这个记录每人对每个事物处理的“次序”字段。