https://github.com/googs1025/mysql-practice-by-gorm
golang利用gorm进行mysql操作练习,并且加入pipeline框架提升并发性能。
https://github.com/googs1025/mysql-practice-by-gorm
Last synced: about 2 months ago
JSON representation
golang利用gorm进行mysql操作练习,并且加入pipeline框架提升并发性能。
- Host: GitHub
- URL: https://github.com/googs1025/mysql-practice-by-gorm
- Owner: googs1025
- Created: 2022-09-29T01:03:16.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-10-07T13:03:14.000Z (over 2 years ago)
- Last Synced: 2025-01-30T08:28:47.455Z (4 months ago)
- Language: Go
- Size: 91.8 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# mysql-practice-by-gorm
## 1. 利用gorm对mysql调用,的练习。
## 2. 并使用pipeline管道模式,进行并发写入操作提升性能。
通常InputChan的函数操作用于数据准备与一些预处理操作OutputChan的函数操作用于写文件这类耗时操作,可以下发多个goroutine进行,并且注意需要用并发原语waitgroup(也能用errgroup)+关闭chan一同操作。
###目录结构
```bigquery
├── README.md
├── csv # 存放csv结果的文件
│ └── 1.csv
├── dbinit # db初始化与配置文件
│ ├── config.go
│ ├── config.ini
│ └── mysqlinit.go
├── getData # 从mysql中取数据,主逻辑
│ ├── getdata.go # 一般模式
│ ├── getdata_by_pipeline_mode.go # 管道模式
│ └── readme.md
├── go.mod
├── go.sum
├── main.go
└── pipeline # 抽象出来的pipeline框架
├── data.go
├── pipeline.go
└── test.go```
## 一般模式
.jpg?raw=true)
## pipeline管道模式