sql2005关于索引视图的问题!高手请进

billy88 2007-06-22 10:23:21
sql2005的视图V_table建立了索引(聚集索引),在sql management studio管理平台上用查询语句'select top 100 * from V_table where ... order by ...'索引起作用,在事件查探器统计的读写页面数(reads)为400多;
但是,在asp.net连接数据库,用同样的查询语句,索引不起作用了,在事件查探器统计的读写页面数(reads)为7000多;
去掉查询条件排序,用'select top 100 * from V_table'语句,发现:
在sql management studio管理平台的结果是按照聚集索引的排序的;
在asp.net连接数据库的查询结果却不是按照聚集索引排序的!
请高手分析一下,在asp.net连接数据库时,该如何使用索引视图提高性能
...全文
385 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
billy88 2007-06-22
  • 打赏
  • 举报
回复
试过不用存储过程,直接用sql查询语句,结果也是一样的!asp.net连接数据库,索引视图不起作用!
billy88 2007-06-22
  • 打赏
  • 举报
回复
已经试过用强制指定索引了,结果一样的,asp.net里索引不起作用!
sp4 2007-06-22
  • 打赏
  • 举报
回复
你的索引试图调用也是写在数据库存储过程里吧,那应该不会有区别啊。
等待答案,呵呵
billy88 2007-06-22
  • 打赏
  • 举报
回复
非常感谢zjcxc(邹建)
用事件探查器 跟踪语句是一样的(我用的是存储过程),
我试一下用强制指定索引看
zjcxc 元老 2007-06-22
  • 打赏
  • 举报
回复
实在不行的话, 可以强制指定索引

select top 100 * from V_table with(index(要使用的索引名))
where ... order by
zjcxc 元老 2007-06-22
  • 打赏
  • 举报
回复
用 事件探查器 跟踪一下, 看看两者实际发送到sql服务器的语句有什么不同.
zizou88 2007-06-22
  • 打赏
  • 举报
回复
关注
billy88 2007-06-22
  • 打赏
  • 举报
回复
顶一下
zizou88 2007-06-22
  • 打赏
  • 举报
回复
顶一下

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧