我在切片中有数据,我想对该切片进行分区,然后使用Goroutine我想在数据库中同时插入列表记录。 我有70到8万条记录要插入Oracle SQL,大约需要3到4个小时。我想加快这个过程。 如果还有其他方法可以解决。请让我知道。
func InsertDataIntoDb() {
// Db := DbConnectiontwo()
slicetwo := SelectData()
for idrange := range gopart.Partition(len(slicetwo), 10000) {
go routine(idrange.Low, idrange.High, slicetwo)
}
func routine(low int, high int, slicetwo []jobStatus) {
// Db := DbConnectiontwo()
query := "INSERT INTO"//I have query here
stmt: = query
for i := low; i < high; i++ {
_, err := Db.Exec(stmt, slicetwo[i].jobVer, slicetwo[i].joid, slicetwo[i].last_End, slicetwo[i].last_Scheduled_Start,
slicetwo[i].last_Start, slicetwo[i].next_Start, slicetwo[i].status, slicetwo[i].status_Time)
if err != nil {
fmt.Println(err)
}
}
fmt.Println("task is completed")
}