Small. Fast. Reliable.
Choose any three.
SQLite Release 3.8.7 On 2014-10-?? (3.8.7)
- Many micro-optimizations result in 20.3% more work for the same number
of CPU cycles relative to the previous release.
The cumulative performance increase since version 3.8.0 is 61%.
cachegrind on the
speedtest1.c workload on
Ubuntu 13.10 x64 with gcc 4.8.1 and -Os. Your performance may vary.)
- The sorter can use auxiliary helper threads to increase real-time response.
This feature is off by default and may be
enabled using the PRAGMA threads command or the SQLITE_DEFAULT_WORKER_THREADS
- Enhance the skip-scan optimization so that it is able to skip index terms that
occur in the middle of the index, not just as the left-hand side of the index.
- Improved optimization of CAST operators.
- Various improvements in how the query planner uses sqlite_stat4
information to estimate plan costs.
- Added new interfaces with 64-bit length parameters:
- Added the new interface sqlite3_msize() that returns the size of a memory allocation
obtained from sqlite3_malloc64() and its variants.
- Added the SQLITE_LIMIT_WORKER_THREADS option to sqlite3_limit() and
PRAGMA threads command for configuring the number of available worker threads.
- The spellfix1 extension allows the application to optionally specify the rowid for
- Added the User Authentication
- Fix a bug in the partial index implementation that might result in an incorrect
answer if a partial index is used in a subquery or in a view.
- Fix a query planner bug that might cause a table to be scanned in the wrong direction
(thus reversing the order of output) when a DESC index is used to implement the ORDER BY
clause on a query that has an indentical GROUP BY clause.
- Fix a bug in sqlite3_trace() that was causing it to sometimes fail to print
an SQL statement if that statement needed to be re-prepared.
- Fix a faulty assert() statement.
Test, Debug, and Analysis Changes:
- Show ASCII-art abstract syntax tree diagrams using the ".selecttrace"
and ".wheretrace" commands in the
command-line shell when compiled with SQLITE_DEBUG, SQLITE_ENABLE_SELECTTRACE,
and SQLITE_ENABLE_WHERETRACE. Also provide the sqlite3TreeViewExpr() and
sqlite3TreeViewSelect() entry points that can be invoked from with the
debugger to show the parse tree when stopped at a breakpoint.
- Drop support for SQLITE_ENABLE_TREE_EXPLAIN. The SELECTTRACE mechanism provides
more useful diagnostics information.
- New options to the command-line shell for configuring auxiliary
memory usage: --pagecache, --lookaside, and --scratch.
A complete list of SQLite releases
in a single page is also available. A detailed history of every
check-in is available at