On 2016/02/15 5:21 AM, admin at shuling.net wrote: > Hi, > > I am just curious whether there is a performance comparison between SQLite > and SQL Server? Surely SQL Server will perform better on huge database with > thousands of tables(more than 10GB size). But whether SQLite will perform > better on smaller database such as one database with one table that is less > than 1GB? > > Thanks
Some other replies have hinted at this already, but to expand: The one isn't faster than the other in all cases. There are ways in which SQLite is much faster even on a 100GB database - the "Lite" in SQLite doesn't mean database size - it pertains more to the available function-set. It can handle the very large DB's just as well as any other. Where SQLite lacks (due to the "Lite"-ness) is in not having user-access control, not having programmability (stored procedures and functions, but then you can add custom functions to SQLite in C even, which you can't easily do with the others, especially not with MSSQL). The largest difference however, is that an SQLite connection operates on (talks-to) a file, and the others usually talk to a server. The main advantage of SQLite is that it can be used for an application file format to your program, complete as if it was a database in itself (which, actually, it is), and moreover, you can embed the entire DB in your application and on your hardware etc - like the billions of handheld devices, phones, tablets, etc. that uses SQLite daily. For more information, see: http://www.sqlite.org/whentouse.html To answer your speed question - it depends on data shape, size, IO access speeds, Memory on the generation machine etc. Import big datasets in both MSSQL and SQlite, run some queries, chances are some queries be slightly faster in SQLite, and some are slightly faster in MSSQL. Single query performance is not really the driver of that decision. Cheers, Ryan

