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