APP下载

SQL数据库的性能优化

2019-11-30吴加华

电子技术与软件工程 2019年1期
关键词:姓名语句服务器

文/吴加华

由于SQL Servers数据库管理系统具有较高的数据管理性能,因其优越的性能,应用范围非常广,大量应用于服务器和客户体系结构中。SQL Servers数据库的性质主要体现在以下几个方面:系统的吞吐量、响应时间以及并行处理能力,发出请求服务器回应的速度、还有不同屏幕之间切换的速度等等。本文主要讨论SQL Servers数据库性能优化的方法。

1 SQL Server数据库优化设计

很多个SQL语句组合成为一个逻辑的单元,数据库服务器执行着事务的处理和控制,数据库事务的起点和终点是由应用程序划分的,操作人员使用数据库时,尽量要缩短数据库事务单元的长度,事务短了,通过其他的SQL语句占用获得的回滚空间和锁就可以充分释放,进而减少了SQL Server数据库与其他运行的程序争夺资源情况发生。

当操作人员使用数据库查询大量的数据,这时查询动作会给服务器造成负担,所以,当操作人员需要查询大量数据时,如果表的数据量过大,就需要制定一个条件,这样可以有效避免返回的信息量太多。返回信息量过多会导致DMNS的性能受阻。系统返回信息也会增加网络通信量,就会发生网络拥挤,如果客户机的内存不足,返回信息量就会加载过重,会出现很严重的问题。

应用程序如果要对代码这类的数据进行处理时,如果需要反复使用这类的数据,那就可以通过使用到客户机的缓存,将数据库上一次性的将数据检索下载到客户缓冲机,然后使用数据共享的技术来实现反复对数据的使用。或者可以将原数据使用的数据提前存储好,直接调用即可,这样就可以不通过检索服务器,可以使性能得到优化。

网络是服务器和客户端运行的基础,网络的带宽的大小对数据库系统性能的优化也有着显著地影响,可以使用存储的过程,以此来减少对数据库的大量查询,可以降低网络流量过大导致的网络问题,比如,阻塞和拥堵。这样SQL Server的吞吐量得到了增强,反应时间也得到相应的加快。这时,客户仅需要对参数进行控制,就可以调用存储过程,从而不需要对SQL Server数据库发送大量的语句。另一方面,可以利用服务器方式来对数据进行处理,这样可以有效的梳理下载原始数据再进行处理的复杂程度,通过减小结果的结合,以此来实现网络负载的优化。

2 优化SQL的语句

对SQL语句的优化,本质是以正确的结果为前提,对索引的使用效率做到最高,采用服务器可以使用到的语句进行索引,可以有效的降低对服务器的全表扫描,而且还可以有效的规避返回没有限定条件的信息。

以下面的两条SQL语句为例进行解释:

语句一:select 仓库号,货物名 from T1 where 货物名 not in (select 姓名 fromT4);

语句二:select 仓库号,货物名 from T1 where not exists (select 班级 FROM T2 where T4 .姓名 =T3 姓名);

上述两条SQL语句实现的功能完全一样,但是因为语句一没有在姓名后建立姓名的索引,因此数据库执行操作时,会扫描T4表的部分数据,使得数据二比数据一检索的效率高了很多倍,通过对大量类似的语句产生优化,可以使得SQL数据库系统性能得到提升。还有,在具体的应用中要减少条件列,例如,“where 销售额=‘60’”还有“where 销售额 /100>0.7”这两个条件列。数据库如果处理这样的条件列会显得非常慢,因为“where”是对所有条件进行操作,需要扫描全表。此时如果使用“where 销售额 like ‘120’,则SQL语句执行效率就会快很多。减少使用in、not in等等语句,使用exists、not exists语句效果要远好于in、not in等语句。

操作人员如果要查询视图相关的信息,可以对其进行分解,可以对数据表进行直接的查询,而进行数据查询时,操作人员优先查询的是主表,然而主表需要对整个表进行扫描,因此需要将整个主表内容进行控制,越小越好,主表查询的范围相对比表的范围要小很多。主表和从表之间的联合需要结合数据量的大小,还有检索的条件来考虑。

猜你喜欢

姓名语句服务器
梁潮印笺·姓名章戢孴
梁潮篆痕·姓名类集
重点:语句衔接
通信控制服务器(CCS)维护终端的设计与实现
姓名的『姓』字为什么是『女』旁?
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
如何搞定语句衔接题
找朋友