ΡΠ΅Π»ΠΈΠ· , Π»Π΅ΠΊΡΠΈΡ Π‘Π£ΠΠ, ΠΎΡΠΎΡΠΌΠ΅Π½Π° ΠΊΠ°ΡΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°. ΠΠΎΠ΄ΡΡ Π½Π° SQLite ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΊΠ°ΡΠΎ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎ Π΄ΠΎΡΡΠΎΡΠ½ΠΈΠ΅, Ρ.Π΅. ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±Π΅Π· ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΈ Π±Π΅Π·ΠΏΠ»Π°ΡΠ½ΠΎ Π·Π° Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ ΡΠ΅Π»ΠΈ. Π€ΠΈΠ½Π°Π½ΡΠΎΠ²Π°ΡΠ° ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ° Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° SQLite ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΎΡ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ ΡΡΠ·Π΄Π°Π΄Π΅Π½ ΠΊΠΎΠ½ΡΠΎΡΡΠΈΡΠΌ, ΠΊΠΎΠΉΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΊΠ°ΡΠΎ Adobe, Oracle, Mozilla, Bentley ΠΈ Bloomberg.
ΠΡΠ½ΠΎΠ²Π½ΠΈ :
- ΠΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° (ΠΈΠ·ΡΠΈΡΠ»ΡΠ΅ΠΌΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈ), ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΏΡΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ°Π±Π»ΠΈΡΠ° Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ ΠΊΠΎΠ»ΠΎΠ½Π°, ΡΠΈΡΡΠΎ ΡΡΠΎΠΉΠ½ΠΎΡΡ ΡΠ΅ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° Π΄ΡΡΠ³Π° ΠΊΠΎΠ»ΠΎΠ½Π°. ΠΠ΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΊΠ°ΠΊΡΠΎ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ (ΡΠΎΡΠΌΠΈΡΡΠ΅ΠΌΠΈ Π½Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΡΠΈ Π²ΡΡΠΊΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅), ΡΠ°ΠΊΠ° ΠΈ ΡΡΡ
ΡΠ°Π½ΡΠ²Π°Π½ΠΈ Π² ΠΠ (ΡΡΡ
ΡΠ°Π½ΡΠ²Π°Ρ ΡΠ΅ ΠΏΡΠΈ Π²ΡΡΠΊΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ²ΡΡΠ·Π°Π½ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΈ). Π‘ΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΈ Π΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΠ°ΠΌΠΎ Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΠ΅ΡΠ΅Π½Π΅ (ΠΏΡΠΎΠΌΡΠ½Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠΈ ΡΠ°ΠΌΠΎ ΡΡΠ΅Π· ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π² Π΄ΡΡΠ³Π° ΠΊΠΎΠ»ΠΎΠ½Π°, ΡΡΠ°ΡΡΠ²Π°ΡΠ° Π² ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ΡΠΎ). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
CREATE TABLE t1(
a INTEGER PRIMARY KEY,
b INT,
c TEXT,
d INT GENERATED ALWAYS AS (a*abs(b)) VIRTUAL,
e TEXT GENERATED ALWAYS AS (substr(c,b,b+1)) STORED
); - ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ PRAGMA , Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΈ ΠΎΠΏΡΠΈΡ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ β-DSQLITE_TRUSTED_SCHEMAβ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π°ΠΊΡΠΈΠ²Π°ΡΠΈΡΡΠ° Π½Π° Π·Π°ΡΠΈΡΠ°ΡΠ° ΠΎΡ ΡΡΠ΅Π· ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π² ΠΠ. ΠΡΠΈ Π°ΠΊΡΠΈΠ²Π½Π° Π·Π°ΡΠΈΡΠ° ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° SQL ΡΡΠ½ΠΊΡΠΈΠΈ (Π½Π΅ ΠΌΠ°ΡΠΊΠΈΡΠ°Π½ΠΈ ΠΊΠ°ΡΠΎ SQLITE_INNOCUOUS) Π² ΡΡΠΈΠ³Π΅ΡΠΈ, ΠΈΠ·Π³Π»Π΅Π΄ΠΈ, CHECK ΠΈ DEFAULT ΠΈΠ·ΡΠ°Π·ΠΈ, ΠΈΠ½Π΄Π΅ΠΊΡΠΈ ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈ. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ΅ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ Π² ΡΡΠΈΠ³Π΅ΡΠΈ ΠΈ ΠΈΠ·Π³Π»Π΅Π΄ΠΈ, ΠΎΡΠ²Π΅Π½ Π°ΠΊΠΎ Π²ΠΈΡΡΡΠ°Π»Π½Π°ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ° Π½Π΅ Π΅ ΠΈΠ·ΡΠΈΡΠ½ΠΎ ΠΎΠ±ΡΠ²Π΅Π½Π° Ρ ΡΠ»Π°Π³Π° SQLITE_VTAB_INNOCUOUS.
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΏΡΠΈΡΠ²ΠΎΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π² SQL ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° (Π±Π΅Π·Π²ΡΠ΅Π΄Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ Π²ΡΠ½ΡΠ½ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ ΠΈ Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ) ΠΈ (ΡΠ°ΠΌΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π² SQL Π·Π°ΡΠ²ΠΊΠΈ, Π±Π΅Π· Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΡΠΈΠ³Π΅ΡΠΈ, ΠΈΠ·Π³Π»Π΅Π΄ΠΈ ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ);
- ΠΠΎΠ±Π°Π²Π΅Π½ ΠΌΠΎΠ΄ΡΠ» Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° UUID (RFC-4122);
- ΠΠΎΠ±Π°Π²Π΅Π½Π° PRAGMA ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° ΠΊΡΠΏΡΠΈΠ½Π°ΡΠ°;
- Π PRAGMA Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΎ Π΅ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠΈΠΏΠ°, ΡΠ²ΠΎΠΉΡΡΠ²Π°ΡΠ° ΠΈ Π±ΡΠΎΡ Π½Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π·Π° Π²ΡΡΠΊΠ° ΡΡΠ½ΠΊΡΠΈΡ;
- ΠΠΈΡΡΡΠ°Π»Π½Π°ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ° DBSTAT ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π°Π³ΡΠ΅Π³ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ;
- Π sqlite3_open_v2() Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΎΠΏΡΠΈΡΡΠ° SQLITE_OPEN_NOFOLLOW, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ° Π·Π°Π±ΡΠ°Π½Π° Π·Π° ΠΎΡΠ²Π°ΡΡΠ½Π΅ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ½ΠΈ Π»ΠΈΠ½ΠΊΠΎΠ²Π΅;
- ΠΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° , ΠΏΡΠ΅Π΄Π°Π²Π°Π½ Π² JSON ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅, Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π½ΠΎΡΠ°ΡΠΈΡΡΠ° Π·Π° ΠΌΠ°ΡΠΈΠ²ΠΈ β#-Nβ;
- Π ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π΄Π²Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΏΡΠ»Π° ΠΏΠ°ΠΌΠ΅Ρ, Π²ΡΠ΅ΠΊΠΈ ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΈ (ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ ΡΠ°Π·ΡΠΈΡΠΈ ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° lookaside, Π½Π°ΠΌΠ°Π»ΡΠ²Π°ΠΉΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° Π±ΡΡΠ΅ΡΠ°, Π·Π°Π΄Π΅Π»ΡΠ½ Π·Π° Π²ΡΡΠΊΠΎ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΠΎΡ 120 Π½Π° 48 ΠΠ);
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° PRAGMA Π΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° , ΠΊΠΎΡΡΠΎ Π½Π΅ Π±Π΅ΡΠ΅ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠ° Ρ VACUUM, Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΠΈ Π½Π°ΠΌΠ°Π»ΡΠ²Π°ΡΠΈΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ (ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈΡ ΡΠΎΡΠΌΠ°Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²Π΅Π½Π° ΡΡΠ΅Π· ΡΠ»Π°Π³Π° SQLITE_DBCONFIG_LEGACY_FILE_FORMAT Π² sqlite3_db_config()).
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
