Architecture
?
Just like the compiler, the structure is divided into front-end, virtual machine, back-end
Performance and limitations (limitations)
Use B-trees to make indexes, and make table with a C + tree. As with other databases
Because no authentication or network access is required, the select
operation is insert
update
faster than other databases.
If the database is too large and the query statement is too complex, sqlite performance is inferior to other databases. Oracle or PostgreSQL calculates a number of possible query plan, and then chooses an optimal one. SQLite does not have this feature.
In general, two dimensions limit the application of SQLite.
- Concurrent. In general, the lock in SQLite lasts a few milliseconds. If the database has many connections and is time-sensitive, it is best not to use them.
- Internet. SQLite can be shared through the network file system, but many implementations of NFS have many bugs, which leads to the abnormal operation of the file lock, which makes the data inconsistent and so on.
There are some features that SQLite has not yet implemented.
-Full trigger (trigger) support. Like whatfor each statment
-Full alter table
support. Only support RENAME TABLE
and ADD COLUMN
. Other ALERT TABLE
operations, such as DROP COLUMN
, ALTER COLUMN
, ADD CONSTRAINT
do not support
- RIGHT
and FULL OUTER JOIN
.
-Can update the views. The view in SQLite is read-only.
-Windowing function. SQLite is compatible with ANSI SQL 92 and is not compatible with ANSI SQL 99. Not supported RANK()
, ROW_NUMBER
etc.
- GRANT
andREVOKE
SQLite Learning 1