有一个查询 是跟据 商家的 地理区域(12种可能取值),类型(26种取值),排序(6种可能 
存储过程 传进来 这3个参数
          @Type int,
   @RegionId int,
   @SortId int,if(SortId=1)
select Id from ShopInfo where [Type]=@Type AND Region=@RegionId  order by ClickTimes desc
else if(SortId=2)
select Id from ShopInfo where [Type]=@Type AND Region=@RegionId  order by PublishTime desc... ...
... ...
一共有50000行数据  (50000个商家)
这样的 查询 请问怎样 优化 呢?比如索引?   等等
还有 现在页面上 有 两个dropdownlist  一个是 地区 的   一个 是排序 的  ,类型是 url 上面的参数确定的?Type=   现在 两个dropdown list  都是 设置成autopostback 了,就是只要任何 一个 改变 就 开始 查询,这样会不会影响性能 ,还是 说在 两个dropdownlist 后面加个 按钮 ,选完后再按确定 ,好一点?希望有经验的一起交流。

解决方案 »

  1.   

    反正是不能即时刷新。点击某个dropdownlist,可以启动一个定时器,5秒钟后才开始查询。点击dropdownlist会清除定时器并创建新的定时器(再等待5秒)。点击查询按钮则清除定时器并立刻开始查询。
      

  2.   

    已经用了分页了, @Type int,
       @RegionId int,
       @SortId int,
       @pageindex int,                                                                              
     @pagesize int    只有 12种 取值 的  需要  建立 索引吗?
      

  3.   

    现在 两个dropdown list  都是 设置成autopostback 了,就是只要任何 一个 改变 就 开始 查询,这样会不会影响性能 ,还是 说在 两个dropdownlist 后面加个 按钮 ,选完后再按确定 ,好一点?