如果对数据写入要求不高,需要轻量级的数据管理的话,推荐LiteDb数据库。
安装之后只有一个DLL文件来做调用。
相关代码片段:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
' 获取应用程序的目录
Dim appDirectory As String = AppDomain.CurrentDomain.BaseDirectory
' 数据库文件路径
Dim dbPath As String = Path.Combine(appDirectory, "example.db")
' 打开或创建数据库文件
Using db As New LiteDatabase(dbPath)
' 获取Users集合
Dim users = db.GetCollection(Of User)("Users")
' 创建索引
users.EnsureIndex(Function(x) x.ID, True)
' 插入示例数据
Dim user As New User With {.Name = "John Doe"}
users.Insert(user)
Dim results = users.FindAll().ToList()
For Each u In results
Console.WriteLine($"ID: {u.ID}, Name: {u.Name}")
Next
End Using
Console.WriteLine("数据库和表已创建。")
Console.ReadLine()
End Sub
Public Class User
Public Property ID As Integer
Public Property Name As String
End Class
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
' 获取应用程序的目录
Dim appDirectory As String = AppDomain.CurrentDomain.BaseDirectory
' 数据库文件路径
Dim dbPath As String = Path.Combine(appDirectory, "example.db")
' 打开或创建数据库文件
Using db As New LiteDatabase(dbPath)
' 获取Users集合
Dim users = db.GetCollection(Of User)("Users")
' 创建索引
users.EnsureIndex(Function(x) x.ID, True)
' 禁用自动索引更新
users.EnsureIndex(Function(x) x.ID, False)
' 准备批量插入
Dim batchSize As Integer = 100000
Dim batch As New List(Of User)(batchSize)
For i As Integer = 0 To 999999
Dim user As New User With {.Name = $"User {i}"}
batch.Add(user)
If batch.Count >= batchSize Then
users.InsertBulk(batch)
batch.Clear()
End If
Next
' 插入剩余的数据
If batch.Count > 0 Then
users.InsertBulk(batch)
End If
Console.WriteLine(batch.Count)
' 重新启用自动索引更新
users.EnsureIndex(Function(x) x.ID, True)
End Using
Console.WriteLine("从0到999999的用户已插入。")
End Sub
图形化管理软件:
https://github.com/mbdavid/LiteDB.Studio/releases/tag/v1.0.3