SQLServer数据库性能优化技巧

导语:哥们是一壶烈酒,让你兴奋,让你激动,让你尽显英雄本色,虽然有时也难免让你丢人现眼;朋友是一杯清茶,让你平和,让你宁静,让你略知世道人心,虽然有时也难免让你单调乏味。

SQLServer数据库性能优化技巧,停止使SQL Server等待

每次SQLServer在运行时都被阻止它会以等待统计信息的形式跟踪事件,这是处理SQL Server时最重要的领域之一,通常服务器暂停,因为它正在寻找特定的资源来帮助完成该功能,要查找所需的资源须具备等待统计信息,如果可以方便地找到堵塞的原因解决它将不再是一个问题,在执行此操作时将节省大量时间而不是查看I/O问题。

找到I/O瓶颈

I/O瓶颈是SQLServer中性能问题的主要原因之一,要查找是否存在I/O问题请按照给定的方法:

检查等待统计信息中是否存在高page_IO_latch或log_write

使用DMFsys.dm_io_virtual_file_stats()查找存在过多I/O停顿的任何可能区域

使用PerfMon计数器

如果找到任何物理I/O瓶颈请查找导致问题的所有查询,在添加其他硬件之前微调它们,不要阻止写入日志文件,因为所有DML操作都将受到阻碍,日志写入的高延迟也是问题的标志。

找到问题查询

在任何SQL服务器中通常有8到10个查询或存储过程会阻碍系统的活动,找到这些查询并对其进行微调将有助于获得更好的性能和一致性而无需任何额外的硬件或软件,有很多查询可以满足特定问题,一个重要的提示是不要对经过的时间给予太多的重视让代码完成解决问题的工作,语句长度可能会令人惊讶但它们将有效地解决系统中存在的阻塞问题。

策略重用

随着硬件变得越来越强大和经济实惠,数据库应用程序中的事务处理速率也在不断提高,这是程序员在一台服务器中打包更多内容并增加系统活动的原因之一,但是编写查询计划是SQL服务器性能和内存最关键的操作之一,有很多应用程序可以提高函数开发的速度但不要重用查询计划,这可能在很长一段时间内是有害的,因为资源和时间将不断地浪费在先前运行的命令上,最好使用计数列并按文本列对计划进行排序,这样类似的条目可以归类为单个单元。

留意索引用法

sys.dm_db_index_operational_stats()DMF是未充分利用的信息来源之一,该DMF有助于破译各种信息以确定索引及其使用方式,如果您正在扫描索引或使用搜索您可以了解它,甚至可以获得特定过程的经过时间等小数据,该DMF是关键信息最有用的工具之一。

文章已经写完了,分开也是必然的,虽然分别的时候总是难受的,但是不再相见不等于,我不会想念大家,也希望你们能想念小编,毕竟小编的文章在你们的脑海中留下了一丝的痕迹,可能有那么一天,你们会想起小编写的这篇文章,祝福你们,最后能不能给小编点点关注,可以的话,留下只言片语也好!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190210A0G4UY00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券