This topic has been archived. It cannot be replied.
-
工作学习 / IT技术讨论 / SQL语句执行速度与CPU个数和内存大小有多大关系?SQL语句执行速度与CPU个数和内存大小有多大关系?
今天在一Mainframe机上进行了一个测试
增加CPU个数和增大内存大小
发现有些select语句执行速度可以大大地加快
而有些selct语句执行速度可以说根本未变
(可能还会慢上个几秒)
有些select语句只会用一颗CPU(该颗CPU使用率在100%),
其它的空闲着
有些select语句会用所有的CPU,但使用率可能在25%
这是为什么呢?
测试环境如下:
分别用4,8,12,16颗英特尔PIII至强900MHz/2MB CPU
内存大小分别是:4GB和8GB
OS:Win2000 Data Center
RDBMS: MS SQL Server 2000
-rabbitbug(兔八哥);
2003-4-28
{491}
(#1161932@0)
-
try Oracle server. Oracle has better suan4fa3 for select and join with MP.
-ra_95(小人-象猪一样的生活);
2003-4-28
(#1161993@0)
-
他们要用sql server的,机器也是和MS捆在一起的,没办法拉
-rabbitbug(兔八哥);
2003-4-29
(#1163188@0)
-
简单的说,只有CPU或内存成为瓶颈的时候,增加其数量才会提高运行速度。比如说,单一SQL语句可以利用intra-parallelism的时候,有一个CPU增加到两个性能会有大的提高(通常的例子是表经过分区,或者join可以采用sort-merge的情况);在SQL Server中你需要设置show plan去查看优化器是否采用并行处理--在CPU数量小于并行度的时候,增加CPU可以提高速度。
当然,如果你的计算环境是多用户的,那么即使你的SQL语句无法并行处理,增加CPU仍然可以提高总的吞吐量,即所谓的inter-parallalism.
同理,增加内存不一定可以提高单一SQL的速度,你要查看是否有很多page-in, page-out(内存不够的特征). 但一般来说,多用户环境下,内存多多益善。
-meiling(老实和尚);
2003-4-28
{469}
(#1162822@0)
-
倒没有设置sql server的show plan,只是看了Task Manager里的Performance.
-rabbitbug(兔八哥);
2003-4-29
(#1163185@0)