Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 连接到“始终在线”可用性组的只读实例_C#_Sql_Performance_Alwayson - Fatal编程技术网

C# 连接到“始终在线”可用性组的只读实例

C# 连接到“始终在线”可用性组的只读实例,c#,sql,performance,alwayson,C#,Sql,Performance,Alwayson,你好 关于从可用性组的只读实例读取,我有一个与性能相关的问题 据我所知(很抱歉,我不太熟悉始终打开(AO)),您可以通过两种方式连接到只读实例: 方法1:通过指定要只读的应用程序意图,直接连接到AO可用性组,该组已正确设置只读路由 方法2:直接连接到只读实例 我想知道,如果您不断地(每分钟左右)查询数据库,这些方法中的哪一种对服务器的负担较小,或者没有什么区别。这两种方法之间的差异很小,尽管直接连接可能会稍微快一些,因为在连接到可用性组时必须执行一些附加逻辑,例如查找只读路由。然而,最好的做法是

你好

关于从可用性组的只读实例读取,我有一个与性能相关的问题

据我所知(很抱歉,我不太熟悉始终打开(AO)),您可以通过两种方式连接到只读实例:

方法1:通过指定要只读的应用程序意图,直接连接到AO可用性组,该组已正确设置只读路由

方法2:直接连接到只读实例


我想知道,如果您不断地(每分钟左右)查询数据库,这些方法中的哪一种对服务器的负担较小,或者没有什么区别。

这两种方法之间的差异很小,尽管直接连接可能会稍微快一些,因为在连接到可用性组时必须执行一些附加逻辑,例如查找只读路由。然而,最好的做法是连接到AO可用性组,因为它抽象出了实现细节。如果存在多个只读副本,它允许进行负载平衡,并便于维护,因为DBA可以更改只读路由,而无需更新任何连接字符串


关于您的第二条评论,根据,连接到可用性组时,可用性组的主数据库将处理传入的只读路由请求,并尝试查找加入到主副本并配置为只读路由的联机只读副本。客户端从主副本服务器接收反向连接信息,并连接到标识的只读副本。因此,简而言之,在重新路由后,您将连接到辅助服务器,因此在使用只读应用程序意图时连接到可用性组没有区别,因为您最终使用的是相同的连接。

我读到了一些关于只读(辅助副本)服务器使用隔离的内容,当直接连接以及使用应用程序意图时,这是否正确?我已经更新了我的答案,因为太长了,无法在这里发表评论。