仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 725|回复: 8
打印 上一主题 下一主题

[学习教程] 使用showplan_all检察sql具体实行企图

[复制链接]
萌萌妈妈 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 14:09:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统大概我们都晓得Microsoftsqlservermanagementstudio工具栏中的"显现估量的实行企图"按钮了,我们能够选中任何可实行的SQL,然后点击该按钮,SQL就会给我们选中SQL的图形实行企图了。

明天我们就使用showplan_all设置让SQL前往笔墨型的具体实行企图。

先看看showplan_all的功效:
功效形貌:
SQLServer前往有关语句实行情形的具体信息,并估量语句对资本的需求。
SETSHOWPLAN_ALL的设置是在实行或运转时设置,而不是在剖析时设置。

详细示例:
假设我要检察视图v_bas_unit的具体实行企图
setshowplan_allon
go
selectUnitCodefromv_BAS_Unit


前往了局:
selectUnitCodefromv_BAS_Unit        1        1        0        NULL        NULL        1        NULL        7        NULL        NULL        NULL        0.0032897        NULL        NULL        SELECT        0        NULL
|--IndexScan(OBJECT:([SDERP].[dbo].[BAS_Unit].[IX_BAS_Unit]AS[A]))        1        2        1        IndexScan        IndexScan        OBJECT:([SDERP].[dbo].[BAS_Unit].[IX_BAS_Unit]AS[A])        [A].[UnitCode]        7        0.003125        0.0001647        36        0.0032897        [A].[UnitCode]        NULL        PLAN_ROW        0        1

下面前往了局排版对照凌乱,人人能够在本人的Microsoftsqlservermanagementstudio看测试了局。

注重:
1,setshowplan_all设置对全部会话都无效,就是说在某个会话中,假如你有设置过setshowplan_allon,那末在这个会话中任何后续sql都不会再实行,而是前往sql对应的实行企图。
2,设置了setshowplan_allon后实行createtable大概createview等创立工具的SQL语句,实践上不会创立对应的工具,以是你想在设置了setshowplan_allon后再创立某工具再挪用某工具,就会报该工具不存在毛病。
3,实行setshowplan_alloff可封闭该设置
4,不克不及在存储过程当中设置setshowplan_allon,它必需是批处置中的独一语句使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性
只想知道 该用户已被删除
沙发
发表于 2015-1-18 12:17:05 | 只看该作者
而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~
分手快乐 该用户已被删除
板凳
发表于 2015-1-26 16:53:34 | 只看该作者
你可以简单地认为适合的就是好,不适合就是不好。
老尸 该用户已被删除
地板
发表于 2015-2-4 20:47:52 | 只看该作者
我们学到了什么?思考问题的时候从表的角度来思考问
海妖 该用户已被删除
5#
发表于 2015-2-10 10:03:50 | 只看该作者
这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。
萌萌妈妈 该用户已被删除
6#
 楼主| 发表于 2015-3-1 09:43:11 | 只看该作者
而SQLServer如果能像Oracle一样可以为登陆分配如:5%的cpu,10%的内存。就可以解决这个漏洞。
冷月葬花魂 该用户已被删除
7#
发表于 2015-3-10 17:01:00 | 只看该作者
学习SQL语言的话如果要学会去做网站就不是很难!但是要做数据库管理的话就有难度了!
小魔女 该用户已被删除
8#
发表于 2015-3-17 09:11:30 | 只看该作者
如果,某一版本可以提供强大的并发响应,但是没有Oracle的相应版本稳定,或者价格较贵,那么,它就是不适合的。
金色的骷髅 该用户已被删除
9#
发表于 2015-3-24 05:47:03 | 只看该作者
语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-4 11:06

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表