I have tested several open-source embedded DB engines for .Net to find which one is the best for my purposes.
My choice for testing was:
As for SQLite .Net adapters System.Data.DQLite is faster then sqlite-net for ~ 1.4 times.
Final DB size: 912KB for FireBird, 40KB for SQLite.
I like sqlite-net framework style but current version is slow and does not support blobs & nullable types. I hope it will improve.
If you think I should test something else please comment.
My choice for testing was:
- FireBird 2.5 .Net Provider with patch applied
- sqlite-net r.71 with patch applied
- System.Data.SQLite 1.0.74.0 (3.7.7.1) x86
- Prepare DB: Recreate DB & tables (3 tables, 2 non-PK indexes)
- Create DB: Insert ~500 records to the DB
- Read All: sequentially read 400 records from the only table (no joins)
- Read Random: read random 400 records from the only table (no joins)
- Read / Write All: sequentially read & update 400 records from the only table (no joins)
- Read / Write Random: read & update random 400 records from the only table (no joins)
As for SQLite .Net adapters System.Data.DQLite is faster then sqlite-net for ~ 1.4 times.
Final DB size: 912KB for FireBird, 40KB for SQLite.
I like sqlite-net framework style but current version is slow and does not support blobs & nullable types. I hope it will improve.
If you think I should test something else please comment.
Comments