优化
This commit is contained in:
		
							parent
							
								
									324bea4b23
								
							
						
					
					
						commit
						b4650a18b7
					
				@ -46,22 +46,24 @@ func (this *ReportData2CK) Flush() (err error) {
 | 
			
		||||
	startNow := time.Now()
 | 
			
		||||
 | 
			
		||||
	rowsMap := map[string][][]interface{}{}
 | 
			
		||||
	rowArr := []interface{}{}
 | 
			
		||||
	rows := [][]interface{}{}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	for bufferIndex := range this.buffer {
 | 
			
		||||
		for tableName := range this.buffer[bufferIndex] {
 | 
			
		||||
			rows := rows[0:0]
 | 
			
		||||
			rowArr := []interface{}{}
 | 
			
		||||
			rows := [][]interface{}{}
 | 
			
		||||
			if _, haveKey := rowsMap[tableName]; haveKey {
 | 
			
		||||
				rows = rowsMap[tableName]
 | 
			
		||||
			} else {
 | 
			
		||||
				rowsMap[tableName] = rows
 | 
			
		||||
			}
 | 
			
		||||
			dims, _ := TableColumnMap.Load(tableName)
 | 
			
		||||
			rowArr = rowArr[0:0]
 | 
			
		||||
			for _, dim := range dims.([]*model2.ColumnWithType) {
 | 
			
		||||
				val := parser.GetValueByType(this.buffer[bufferIndex][tableName], dim)
 | 
			
		||||
				logs.Logger.Sugar().Errorf("dim.SourceName",dim.SourceName,val)
 | 
			
		||||
				rowArr = append(rowArr, val)
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			rows = append(rows, rowArr)
 | 
			
		||||
			rowsMap[tableName] = rows
 | 
			
		||||
		}
 | 
			
		||||
@ -90,17 +92,16 @@ func (this *ReportData2CK) Flush() (err error) {
 | 
			
		||||
			bytesbuffer.WriteString("VALUES (")
 | 
			
		||||
			bytesbuffer.WriteString(strings.Join(params, ","))
 | 
			
		||||
			bytesbuffer.WriteString(")")
 | 
			
		||||
 | 
			
		||||
			defer func() {
 | 
			
		||||
			insertSql := bytesbuffer.String()
 | 
			
		||||
			bytesbuffer.Reset()
 | 
			
		||||
			}()
 | 
			
		||||
 | 
			
		||||
			tx, err := db.ClickHouseSqlx.Begin()
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				logs.Logger.Error("CK入库失败", zap.Error(err))
 | 
			
		||||
				return false
 | 
			
		||||
			}
 | 
			
		||||
			stmt, err := tx.Prepare(bytesbuffer.String())
 | 
			
		||||
 | 
			
		||||
			stmt, err := tx.Prepare(insertSql)
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				logs.Logger.Error("CK入库失败", zap.Error(err))
 | 
			
		||||
				return false
 | 
			
		||||
@ -108,13 +109,17 @@ func (this *ReportData2CK) Flush() (err error) {
 | 
			
		||||
			defer stmt.Close()
 | 
			
		||||
			haveFail := false
 | 
			
		||||
			for _, row := range rowsMap[tableName.(string)] {
 | 
			
		||||
				logs.Logger.Sugar().Errorf("bytesbuffer.String()",insertSql)
 | 
			
		||||
 | 
			
		||||
				if _, err := stmt.Exec(row...); err != nil {
 | 
			
		||||
					logs.Logger.Error("CK入库失败", zap.Error(err))
 | 
			
		||||
					haveFail = true
 | 
			
		||||
				}
 | 
			
		||||
				logs.Logger.Sugar().Errorf("bytesbuffer.String() args",row...)
 | 
			
		||||
			}
 | 
			
		||||
			if !haveFail {
 | 
			
		||||
				if err := tx.Commit(); err != nil {
 | 
			
		||||
 | 
			
		||||
					logs.Logger.Error("CK入库失败", zap.Error(err))
 | 
			
		||||
					return false
 | 
			
		||||
				} else {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user