3 ms·
I think this is a great idea for testing. MSSQL has LocalDB which is used a lot throughout the .NET ecosystem: https://learn.microsoft.com/en-us/sql/database-e
by bob1029 1y ago
I think this is a great idea for testing. MSSQL has LocalDB which is used a lot throughout the .NET ecosystem:
https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/sql-server-express-localdb https://learn.microsoft.com/en-us/sql/database-engine/config...
For heavy duty production use (i.e., pushing the actual HW limits), I would feel more comfortable with the SQLite vertical. Unix sockets are fast, but you are still going across process boundaries. All of SQLite can be ran on the same thread as the rest of the application. This can dramatically reduce consumption of memory bandwidth, etc.
- bluGill 1y agoMemory bandwidth I don't worry about much - most of the time you should settup a small database with just enough data for that test, which hopefully is fast. However sockets and processes are a worry as starting as there are places things can go wrong not related to your test and then you have flakely tests nobody trusts.
- markusw 1y agoNote: The last paragraph was about in production, not tests. :-)
- HackerThemAll 1y ago> most of the time you should settup a small database with just enough data for that test, which hopefully is fast. Yeah, this way you're not going to notice performance issues with your data model or application. Test databases should be of sizes comparable to what's expected in production, specifically after several years in production.
- markusw 1y agoI am so tempted to benchmark some more… :D Would be great to get some numbers on this, super interesting.