This is an automated email from the ASF dual-hosted git repository.

zykkk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 42ec92fd12 [enhancement](jdbc catalog) Add sqlserver jdbc url param 
`useBulkCopyForBatchInsert=true` (#22032)
42ec92fd12 is described below

commit 42ec92fd1229b2c58298a8879c0511111d87e576
Author: zy-kkk <zhongy...@gmail.com>
AuthorDate: Sat Jul 22 11:32:21 2023 +0800

    [enhancement](jdbc catalog) Add sqlserver jdbc url param 
`useBulkCopyForBatchInsert=true` (#22032)
    
    When useBulkCopyForBatchInsert=false, the JDBC driver will not use SQL 
Server's Bulk Copy API for batch insertions. Thus, during the batch insertion 
process, each insert statement needs to be individually sent to the SQL Server, 
leading to a higher number of network roundtrips. Network latency could 
potentially become a significant factor contributing to performance 
degradation. For this reason, we recommend setting this parameter to true by 
default to enhance the performance of Prepa [...]
    
    In this manner, when performing batch insertions, the JDBC driver will send 
all insertion data to SQL Server in one go via the Bulk Copy API, rather than 
sending each insert statement individually. This can significantly reduce the 
number of network roundtrips, thereby improving performance.
    
    Please note that this option is only effective for fully parameterized 
INSERT statements. If your INSERT statement is mixed with other SQL statements, 
or if it contains values specified directly in the statement, then the JDBC 
driver will not use the Bulk Copy API, but instead will use the standard insert 
method.
---
 fe/fe-core/src/main/java/org/apache/doris/catalog/JdbcResource.java | 3 +++
 1 file changed, 3 insertions(+)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/catalog/JdbcResource.java 
b/fe/fe-core/src/main/java/org/apache/doris/catalog/JdbcResource.java
index 8a76b2bc34..777a23330c 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/JdbcResource.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/JdbcResource.java
@@ -317,6 +317,9 @@ public class JdbcResource extends Resource {
         if (dbType.equals(POSTGRESQL)) {
             newJdbcUrl = checkAndSetJdbcBoolParam(newJdbcUrl, 
"useCursorFetch", "false", "true");
         }
+        if (dbType.equals(SQLSERVER)) {
+            newJdbcUrl = checkAndSetJdbcBoolParam(newJdbcUrl, 
"useBulkCopyForBatchInsert", "false", "true");
+        }
         return newJdbcUrl;
     }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to