SQL Server如何处理同时的读/写请求?

前端之家收集整理的这篇文章主要介绍了SQL Server如何处理同时的读/写请求?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
背景:

我们有一个大量使用sql Server 2008数据库的应用程序.我们正在尝试优化此应用程序.它是单线程的,我们注意到通过应用程序的日志记录/分析,最大的瓶颈是db读/写.有些电话需要100毫秒,这对我们来说太长了.在其他优化中,我们将其中一些调用拆分为一个单独的线程.仅从这个变化,我们看到处理时间有了很大的改进(代码几乎完全相同,只是一些已被移入另一个线程)

题:

假设在内存中运行代码所花费的时间可以忽略不计,我猜想在另一个线程中执行某些读/写操作不会产生任何性能提升.我觉得如果sql Server只是对请求进行排队,那么无论如何都不能并行进行读/写操作,因此处理时间会相似.不是这种情况.

我想知道sql Server如何处理来自不同线程的两个同时请求(任何读/写组合).它能以某种方式同时执行它们吗?

总之,我假设一个接一个地调用的Query1 Query2的总时间类似于同时调用的Query1 Query2.

这是在双核服务器上运行的.

解决方法

sql Server是一个多用户数据库.它主要用于处理多个同时请求.

理想情况下,在串行执行时获取A B的两个查询在同时执行时将采用MAX(A,B).

为了防止读取或写入损坏的数据,sql Server使用TransactionsLocking.除此之外,应用程序也可以管理并发(例如,optimistic).

原文链接:https://www.f2er.com/mssql/80568.html

猜你在找的MsSQL相关文章