SQLite Forum

SQLite .NET: CommandBuilder performs really bad on tables with a lot of indexes
Login
> What does "reproducible" means for you?

You haven't given us `TestDatabase.sdb` or the SQL needed to create it.

> Why don't you feel able to execute the code

I'm not a VB.net programmer, and I don't want to fire up a Windows VM just to build your example. You're the supplicant here: it's considered polite to boil your problem down to something that reproduces with the `sqlite3` shell, rather than make those that would help you reproduce your build system first.

Even if I were willing and able to do as you request, lacking the DB in question, the program would fail on the first substantial line of code, which tries to open this DB file you've chosen not to provide.

> without any requirements except Visual Studio and the SQLite.net-library

Maybe if you ported it to .NET Core, you could make a good argument that everyone should be able to build your program, since I suspect Windows doesn't have nearly the dominance among users of this forum as it does in the corporate world.

Even those of us with Windows VMs might not have installed Visual Studio, since it's so monstrously huge. .NET Core is a much easier "ask."

> Did you see any query in "SQLiteCommandBuilder.GetInsertCommand" which could be executed in the sqlite3 command shell?

I don't speak VB.net, so I didn't read your code carefully enough to see that.

However, your point seems to be that opening the DB and preparing to execute the first query costs over 40 seconds of run time. So, what happens when you open the DB in the shell and execute a trivial query? If it completes in much less time than 40 seconds, the delay can't be in SQLite proper.

> Do you really believe it makes sense to investigate Microsofts part first?

Each subclass has code unique to it, so if you can eliminate SQLite proper, then yes, you should be looking into that subclass's code. It could very well be doing something suboptimal, which has no equivalent in the other 3 subclasses.