仓酷云

标题: MSSQL编程:SQL Server数据库占用过量内存的办理方... [打印本页]

作者: 爱飞    时间: 2015-1-16 22:16
标题: MSSQL编程:SQL Server数据库占用过量内存的办理方...
其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。常常有网友会问,SQLServer占用了太多的内存,并且还会不休的增加;大概说已设置了利用内存,可它没有效到那末多,这是怎样一回事儿呢?上面,我们来详细看以看SQLServer是如何利用内存的。最年夜的开支通常为用于数据缓存,假如内存充足,它会把用过的数据和以为你会用到的数据一切扔到内存中,直到内存不敷的时分,才把射中率低的数据给清失落。以是一样平常我们在看statisticsio的时分,看到的physicsread都是0。
其次就是查询的开支,一样平常地说,hashjoin是会带来对照年夜的内存开支的,而mergejoin和nestedloop的开支对照小,另有排序和两头表、游标也是会有对照年夜的开支的。以是用于联系关系和排序的列上一样平常必要有索引。
再次就是对实行企图、体系数据的存储,这些都是对照小的。
我们先来看数据缓存对功能的影响,假如体系中没有别的使用程序来争取内存,数据缓存通常为越多越好,乃至有些时分我们会强行把一些数据pin在高速缓存中。可是假如有别的使用程序,固然在必要的时分MSSQL会开释内存,可是线程切换、IO守候这些事情也是必要工夫的,以是就会形成功能的下降。如许我们就必需设置MSSQL的最年夜内存利用。能够在SQLServer属性(内存选项卡)中找到设置最年夜利用内存的中央,大概也能够利用sp_configure来完成。假如没有别的使用程序,那末就不要限定MSSQL对内存的利用。
最初我们来看查询的开支,这个开支明显是越低越好,由于我们不克不及从中失掉优点,相反,利用了越多的内存多数意味着查询速率的下降。以是我们一样平常要制止两头表和游标的利用,在常常作联系关系和排序的列上创建索引。
2008年1月16号MySQLAB被Sun公司收购。而2009年,SUN又被Oracle收购。就这样如同一个轮回,MySQL成为了Oracle公司的另一个数据库项目。
作者: 谁可相欹    时间: 2015-1-19 06:28
总感觉自己还是不会SQL
作者: 蒙在股里    时间: 2015-1-27 14:38
大家注意一点。如下面的例子:
作者: 飘飘悠悠    时间: 2015-2-5 11:17
XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)
作者: 山那边是海    时间: 2015-2-11 13:09
始终遗憾SQLServer的登陆无法分配CPU/内存占用等指标数。如果你的SQLServer给别人分配了一个只可以读几个表的权限,而这个家伙疯狂的死循环进行连接查询,会给你的系统带来很大的负担。
作者: admin    时间: 2015-3-2 13:42
个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。
作者: 活着的死人    时间: 2015-3-11 04:15
XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)
作者: 莫相离    时间: 2015-3-17 20:52
我个人认为就是孜孜不懈的学习
作者: 若相依    时间: 2015-3-25 02:35
我个人认为就是孜孜不懈的学习




欢迎光临 仓酷云 (http://www.ckuyun.com/) Powered by Discuz! X3.2