Features at a glance
Key features include support for isolated, atomic,durable and consistent transactions, SQL92 implementation, database files can be freely shared between computers, supports databases up to 2 terabytes, support for gigabyte-sized blobs and strings, small code footprint, as well as an easy-to-use and very simple API (Application Programming Interface).
Additionally, SQLite does not require initial configuration or further administration, allows developers to store a complete database in a single, cross-platform disk file, which is perfect for using application file formats, has no external dependencies, comes with built-in TCL (Tool Command Language) bindings, and comprehensive documentation.
Bindings for numerous other programming languages are available separately. Its source code is well-commented and it comes with a standalone CLI (Command-line Interface) client that has been designed from the offset to be used for the administration of SQLite databases.
What can I use it for?
The SQLite database engine can be used for any purpose, personal or commercial. Suggested uses for SQLite include database for gadgets, website database, stand-in for an enterprise RDBMS (Relational Database Management System), as well as application file format.
Under the hood and supported OSes
The SQLite distribution comes with a standalone command-line access program (sqlite) that can be used to administer an SQLite database and which serves as an example of how to use the SQLite library. It is written entirely in the ANSI-C programming language.
Supported desktop operating systems include GNU/Linux, Mac OS X and Microsoft Windows. Supported mobile operating systems include Android and iOS. It has been successfully tested with both 32-bit and 64-bit hardware platforms, and it’s easily portable to other OSes.
Reviewed by Marius Nestor on October 17th, 2014
In a hurry? Add it to your Download Basket!
- Most of the changes from the previous release have been micro-optimizations designed to help SQLite run a little faster. Each individual optimization has an unmeasurably small performance impact. But the improvements add up. Measured on a well-defined workload (which the SQLite developers use as a proxy for a typical application workload) using cachegrind on Linux and compiled with gcc 4.8.1 and -Os on x64 linux, the current release does over 20% more work for the same number of CPU cycles compared to the previous release. Cachegrind is not a real CPU, and the workload used for measurement is only a proxy. So your performance may vary. We expect to see about half the measured and reported improvement in real-world applications. 10% is less than 20% but it is still pretty good, we think.
- This release includes a new set of C-language interfaces that have unsigned 64-bit instead of signed 32-bit length parameters. The new APIs do not provide any new capabilities. But they do make it easier to write applications that are more resistant to integer overflow vulnerabilities.
- This release also includes a new sorter that is able to use multiple threads to help with large sort operations. (Sort operations are sometimes required to implement ORDER BY and/or GROUP BY clauses and are almost always required for CREATE INDEX.) The multi-threads sorter is turned off by default and must be enabled using the PRAGMA threads SQL command. Note that the multi-threaded sorter provides faster real-time performance for large sorts, but it also uses more CPU cycles and more energy.
Application descriptionSQLite is an open source library software that has been designed to help you implement a serverless, zero-configuratio...