大数据读取时,页面超卡,什么原因?

七色鸟 2013-05-16 10:01:25
最近遇到一个问题,一个页面在加载的时候打开很慢或者干脆打不开。

这个页面设计的数据量 百万条左右。

以前人查询的方式是直接 通过 表名 来查询的。

不知道改成 通过 视图 来做,能不能缓解这样的情况。

大数据量的时候,通过原表名 查询 和 视图 查询,哪个有 优势点?

...全文
270 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
七色鸟 2013-05-16
  • 打赏
  • 举报
回复
引用 7 楼 ap0405140 的回复:
不知道改成 通过 视图 来做,能不能缓解这样的情况。 --> 不能. 大数据量的时候,通过原表名 查询 和 视图 查询,哪个有 优势点? --> 没有可比性,关键分析执行计划和查看是否进程阻塞. 这张表存在一个高并发操作的问题,容易产生死锁。如何来解决高并发的问题? --> 读取是加nolock选项.
前辈,加nolock,这个挺不错的。我可以尝试一下。谢谢哈!
唐诗三百首 2013-05-16
  • 打赏
  • 举报
回复
引用 5 楼 vincent_void 的回复:
就是也想了解下 通过原表名 查询 和 视图 查询区别。
--> 木有区别.
黄_瓜 2013-05-16
  • 打赏
  • 举报
回复
引用 5 楼 vincent_void 的回复:
[quote=引用 3 楼 Beirut 的回复:] 页面加的东西太多了啊,当然卡 你一个页面加载上百万给谁看啊
没有啊,显示的不多,数据也做过缓存的。 第一个问题 有可能是 死锁引起的。就是也想了解下 通过原表名 查询 和 视图 查询区别。 [/quote] 以为你要在一个页面上加载那么多数据呢,抱歉。
daiyueqiang2045 2013-05-16
  • 打赏
  • 举报
回复
具体的你可以查看执行计划,看看有什么不同,那个效率更高些
daiyueqiang2045 2013-05-16
  • 打赏
  • 举报
回复
区别:1、视图是已经编译好的sql语句。而表不是 2、视图没有实际的物理记录。而表有。 3、表是内容,视图是窗口 4、表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,表可以及时四对它进行修改,但视图只能有创建的语句来修改 5、表是内模式,试图是外模式 6、视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些SQL语句的集合。从安全的角度说,视图可以不给用户接触数据表,从而不知道表结构。 7、表属于全局模式中的表,是实表;视图属于局部模式的表,是虚表。 8、视图的建立和删除只影响视图本身,不影响对应的基本表。联系:视图(view)是在基本表之上建立的表,它的结构(即所定义的列)和内容(即所有数据行)都来自基本表,它依据基本表存在而存在。一个视图可以对应一个基本表,也可以对应多个基本表。视图是基本表的抽象和在逻辑意义上建立的新关系
唐诗三百首 2013-05-16
  • 打赏
  • 举报
回复
不知道改成 通过 视图 来做,能不能缓解这样的情况。 --> 不能. 大数据量的时候,通过原表名 查询 和 视图 查询,哪个有 优势点? --> 没有可比性,关键分析执行计划和查看是否进程阻塞. 这张表存在一个高并发操作的问题,容易产生死锁。如何来解决高并发的问题? --> 读取是加nolock选项.
七色鸟 2013-05-16
  • 打赏
  • 举报
回复
引用 4 楼 OrchidCat 的回复:
[quote=引用 1 楼 vincent_void 的回复:] 现在确定的一点是:这张表存在一个高并发操作的问题,容易产生死锁。如何来解决高并发的问题? 总上一个两个问题,望有经验的前辈路过帮帮忙!解答下。
页面上使用分页,注意缓存上的一些操作。 感觉有点儿像是iis上调优的事儿。 lz将sql语句直接执行看看有没缓慢等情况? 如果没有,建议到web开发板块问问,关于缓存使用,以及iis调优的东东。 [/quote] 这个SQL查询的语句是没什么问题的,之前打开的时候都是很快的。缓存过的页面也就 1-2 秒的功夫。但是出问题了以后,就是非常的慢30s,甚至打不开。
七色鸟 2013-05-16
  • 打赏
  • 举报
回复
引用 3 楼 Beirut 的回复:
页面加的东西太多了啊,当然卡 你一个页面加载上百万给谁看啊
没有啊,显示的不多,数据也做过缓存的。 第一个问题 有可能是 死锁引起的。就是也想了解下 通过原表名 查询 和 视图 查询区别。
Mr_Nice 2013-05-16
  • 打赏
  • 举报
回复
引用 1 楼 vincent_void 的回复:
现在确定的一点是:这张表存在一个高并发操作的问题,容易产生死锁。如何来解决高并发的问题? 总上一个两个问题,望有经验的前辈路过帮帮忙!解答下。
页面上使用分页,注意缓存上的一些操作。 感觉有点儿像是iis上调优的事儿。 lz将sql语句直接执行看看有没缓慢等情况? 如果没有,建议到web开发板块问问,关于缓存使用,以及iis调优的东东。
黄_瓜 2013-05-16
  • 打赏
  • 举报
回复
页面加的东西太多了啊,当然卡 你一个页面加载上百万给谁看啊
Mr_Nice 2013-05-16
  • 打赏
  • 举报
回复
首先慢的问题,lz还是从索引,使用的并发,还有io压力上来看。 实际设计中,建议使用视图,毕竟不知道什么时候用户会说,我不想看3年前的数据,或者不想看XXX的数据。视图这个时候就可以发挥作用了。
七色鸟 2013-05-16
  • 打赏
  • 举报
回复
现在确定的一点是:这张表存在一个高并发操作的问题,容易产生死锁。如何来解决高并发的问题? 总上一个两个问题,望有经验的前辈路过帮帮忙!解答下。

22,301

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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