On Mon, 15 Feb 2016 11:21:06 +0800
<admin at shuling.net> wrote:

> I am just curious whether there is a performance comparison between
> SQLite and SQL Server? 

Odds are you will never see a such a comparison published.  If you read
your SQL Server EULA, you'll see it specifically prohibits publishing
benchmark results.  

The restriction is not purely evil.  It could be argued that the flaws
embedded in any testing regimen render the conclusion meaningless.  

Performance of any kind is notoriously difficult to measure.  That's
especially true of DBMSs because of their complexity. Optimal DBMS
performance is a function of hardware, OS, and DBMS configuration.
That's a lot of expertise to bring to bear on making *one* DBMS perform
at its best; doing it for N is at least N times harder, especially if
you're being scrupulous.  

Back when SQL was young, people still read magazines about new
technology, and benchmarks were a popular feature.  I remember poring
over them to learn whether Oracle was faster than Sybase, etc.  But the
more I learned, the better I understood the futility of the question.
There were too many moving parts, and the journalists had nowhere near
the resources needed to do the job properly.  Any decision they
rendered was flawed, and in any case became obsolete as the technology
evolved.  

I think it was in answer to such testing that the vendors began
including restrictions on published performance measurements in their
EULAs.  

In answer to your question, I would say SQLite performs very well
provided you live with its restrictions.  In particular:

1.  Very little write contention.  
2.  All processes running on the same machine, using a local
filesystem.  
3.  Queries of limited complexity, or data of limited size.  

That is, you're lijmited to one writer at a time, you can't use a
network filesystem, and query optimization will hurt with large tables
if, for example, subqueries can't be flattened.  

SQL Server has none of those restrictions, and probably keeps pace with
SQLite even on its home turf.  But the administration of SQL Server is
nontrivial.  For that reason alone, I would never use it in situations
where SQLite would do.  

--jkl

Reply via email to