Select the corresponding SQLite driver through Golang compilation configuration.
Currently, there are three types of drivers to consider. Through flexible configuration, during Golang compilation, the required binary version can be compiled according to the compilation options to meet the needs of different personnel.
After simple testing, their differences are as follows. The full score is 5 stars (the higher the better).
Binary Size represents the size after compilation (difference, not final value)
Reliability represents reliability
BuildEase represents build difficulty
Method
Binary Size
Reliability
BuildEase
go-sqlite3 (CGO)
⭐⭐⭐ 8.3 MB
⭐⭐⭐⭐⭐
⭐⭐⭐
modernc sqlite (PureGO)
⭐ 11 MB
⭐⭐⭐⭐
⭐⭐⭐⭐⭐
sqinn with go embed
⭐⭐⭐⭐ 6.3 MB
⭐⭐⭐
⭐
sqinn with go-bindata
⭐⭐⭐⭐⭐ 6.1 MB
⭐⭐⭐
⭐
Why is this feature needed?
go-sqlite3 (CGO): the most stable and popular driver.
modernc sqlite : uses SDK for external use, removing CGO dependencies.
go-sqinn: reduces binary size and is convenient for Red Team usage.
Checklist
[x] I have checked the existing issues for similar problems.
Screenshots/Videos
If applicable, add screenshots or videos to help explain your proposal.
Additional Context
Add any other context or screenshots about the feature request here.
Feature Description
Select the corresponding SQLite driver through Golang compilation configuration.
Currently, there are three types of drivers to consider. Through flexible configuration, during Golang compilation, the required binary version can be compiled according to the compilation options to meet the needs of different personnel.
Here we will consider go-sqlite3, modernc sqlite, and sqinn-go with smaller size respectively.
After simple testing, their differences are as follows. The full score is 5 stars (the higher the better).
Binary Size
represents the size after compilation (difference, not final value)Reliability
represents reliabilityBuildEase
represents build difficultyWhy is this feature needed?
go-sqlite3 (CGO): the most stable and popular driver. modernc sqlite : uses SDK for external use, removing CGO dependencies. go-sqinn: reduces binary size and is convenient for Red Team usage.
Checklist
Screenshots/Videos
If applicable, add screenshots or videos to help explain your proposal.
Additional Context
Add any other context or screenshots about the feature request here.