️ perf(sql-import): 优化 SQL 文件流式导入性能

- 使用批量执行减少大 SQL 文件导入的数据库往返

- 引入独立导入会话,保留导入过程中的会话状态

- 批量失败时回滚并降级逐条执行,避免中断后续导入

- 补充 SQL 文件导入与流式拆分回归测试

Refs #487
This commit is contained in:
Syngnat
2026-05-23 12:58:38 +08:00
parent fd33c31b72
commit 872b089b15
15 changed files with 934 additions and 63 deletions

View File

@@ -205,6 +205,17 @@ func (s *SqlServerDB) ExecBatchContext(ctx context.Context, query string) (int64
return res.RowsAffected()
}
func (s *SqlServerDB) OpenSessionExecer(ctx context.Context) (StatementExecer, error) {
if s.conn == nil {
return nil, fmt.Errorf("连接未打开")
}
conn, err := s.conn.Conn(ctx)
if err != nil {
return nil, err
}
return NewSQLConnStatementExecer(conn), nil
}
func (s *SqlServerDB) Exec(query string) (int64, error) {
if s.conn == nil {
return 0, fmt.Errorf("连接未打开")