zoukankan      html  css  js  c++  java
  • 为什么透过链接服务器写入,速度会很慢

    为什么透过链接服务器写入,速度会很慢
     
    原因是 通过链接服务器写入时,是逐行写入数据库,逐行insert,触发触发器等等
    ,写入的数据有几行,就触发几次触发器,inserted,deleted等系统表每次只有一行数据
     
    如果是同一台服务器插入的时,一个sql命令是批量插入的,只触发一个触发器,inserted,deleted会有多行数据
     
    测试用例:
    建表: 
    CREATE TABLE [dbo].[TEST_BATINSERT](
        [PLUCODE] [varchar](20) NULL,
        [SCANCODE] [varchar](20) NULL
    ) ON [PRIMARY]
     
    建触发器:
    CREATE TRIGGER [dbo].TEST_BATINSERT_INSERT
    ON [dbo]. [TEST_BATINSERT]
    FOR INSERT
    AS
    BEGIN
                    IF UPDATE (plucode)
                    BEGIN
    IF (select len( ltrim(rtrim (plucode))) from inserted ) > 2--这种写法当isnerted只有一行数据时,可以执行通过,有多行数据时,语法不正确,会报错
                    BEGIN
                                   IF isnumeric ((select ltrim(rtrim (plucode)) from inserted )) = 1
                                   BEGIN
                                                  SELECT 1
                                   END
                    END
                    END
    END
    测试语句
    语句1
    INSERT TEST_BATINSERT( PLUCODE,SCANCODE )
    SELECT TOP  1 PLUCODE,SCANCODE
    FROM TEST_BATINSERT_1
      测试结果,没问题,说明触发器中的inserted语句只有一行数据
    语句2
    INSERT TEST_BATINSERT( PLUCODE,SCANCODE )
    SELECT TOP 2 PLUCODE,SCANCODE
    FROM TEST_BATINSERT_1
        测试结果:不正常。说明触发器中的inserted语句有多行数据
     
    在另外一台服务器上执行:
    语句1
    INSERT [LNKSER]. LNKDB.dbo .TEST_BATINSERT( PLUCODE,SCANCODE )
    SELECT TOP 1 productNo,productNo
    FROM [TEST_BATINSERT_1]
     
      测试结果,没问题,说明触发器中的inserted语句只有一行数据
    语句2
    INSERT [LNKSER]. LNKDB.dbo .TEST_BATINSERT( PLUCODE,SCANCODE )
    SELECT TOP 2 productNo,productNo
    FROM TEST_BATINSERT_1
     
      测试结果,没问题,说明触发器中的inserted语句只有一行数据
     
    结论:如果要进行跨服务器交换数据,尽量用链接服务器进行读操作,避免进行写和删的操作。
  • 相关阅读:
    cmake安装配置及入门指南
    【算法篇】栈和队列专题之广度优先遍历和深度优先遍历
    【算法篇】链表专题
    【Android】JDK8标准下计算两个日期的时间差
    【MatLab】图片的拼接、滤色
    【C#】Winform开发笔记(持续更新)
    【Java】解决中文在post/get请求乱码的问题
    【C#】基于TCP的简单通信系统
    【Java】IDEA创建Web项目以及Tomcat配置
    【Java】模拟登录教务网并获取数据
  • 原文地址:https://www.cnblogs.com/wanyong117/p/5764644.html
Copyright © 2011-2022 走看看