рдкрд╣рд▓рд╛ рднрд╛рдЧ рдПрдХ
рдкрд░рд┐рдЪрдп рд╣реИ ред
рджреВрд╕рд░рд╛ рднрд╛рдЧ рдПрдХ
рддреНрд╡рд░рд┐рдд рд╢реБрд░реБрдЖрдд рд╣реИ ред
рддреАрд╕рд░рд╛ рднрд╛рдЧ - рд╕реВрдХреНрд╖реНрдорддрд╛ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВред
рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ SQLite рдлреАрдЪрд░реНрд╕ рдХрд╛ рдПрдХ рд╣реЙрдЬрдкреЗрдЬ рд╣реИред рдореИрдВрдиреЗ рдпрд╣рд╛рдВ (рдореЗрд░реА рд░рд╛рдп рдореЗрдВ) рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╖рдпреЛрдВ рдХреЛ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд┐рдирд╛ SQLite рдирд┐рд░реНрд╡рд╛рдг рдХреЛ рд╕рдордЭрдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред
рдЪреВрдВрдХрд┐, рдлрд┐рд░ рд╕реЗ, рдмрд╣реБрдд рд╕рд╛рд░реА рдЬрд╛рдирдХрд╛рд░реА рд╣реИ, рд▓реЗрдЦ рдХрд╛ рдкреНрд░рд╛рд░реВрдк рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдЧрд╛: рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╖рдп рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдкрд░рд┐рдЪрдп рдФрд░ рдШрд░ рдХреА рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ, рдЬрд╣рд╛рдВ рд╡рд┐рд╡рд░рдг рд╣реИрдВред рд╕рд╛рдЗрдЯ, рдЕрдлрд╕реЛрд╕, рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рд╣реИред
рдмрд╣реБрдкрд░рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ SQLite рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
SQLite рдХреЛ рдПрдХрд▓-рдереНрд░реЗрдбреЗрдб рд╕рдВрд╕реНрдХрд░рдг (рд╕рдВрдХрд▓рди рдкреИрд░рд╛рдореАрдЯрд░
SQLITE_THREADSAFE = 0 ) рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдореЗрдВ, рдЗрд╕реЗ рдХрдИ рдзрд╛рд░рд╛рдУрдВ рд╕реЗ рдПрдХ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреЛрдб рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИред рдХреНрдпреЛрдВ? рдЙрдиреНрдорддреНрдд рдЧрддрд┐ рдХреЗ рд▓рд┐рдПред
рдЖрдк рдЬрд╛рдБрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐
sqlite3_threadsafe () рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рд╣реИ рдпрд╛ рдирд╣реАрдВ: рдпрджрд┐ рдпрд╣ 0 рджреЗрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рд┐рдВрдЧрд▓-рдереНрд░реЗрдбреЗрдб SQLite рд╣реИред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, SQLite рдХреЛ рдереНрд░реЗрдбрд┐рдВрдЧ рд╕рдорд░реНрдерди (sqlite3.dll) рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб SQLite рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВ: рдХреНрд░рдордмрджреНрдз рдФрд░ рдмрд╣реБ-рдереНрд░реЗрдбред
рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬреНрдб (рдЖрдкрдХреЛ рдХрдиреЗрдХреНрд╢рди рдЦреЛрд▓рддреЗ рд╕рдордп
SQLITE_OPEN_FULLMUTEX рдзреНрд╡рдЬ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛)ред рдЗрд╕ рдореЛрдб рдореЗрдВ, рдереНрд░реЗрдбреНрд╕ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ SQLite рдХреЙрд▓ рдХреЛ рдЦреАрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рдХреЛрдИ рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВред рд▓реЗрдХрд┐рди рд╕рднреА рдХреЙрд▓ рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рдмреНрд▓реЙрдХ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рд╕рдЦреНрддреА рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред
рдмрд╣реБ-рд╕реВрддреНрд░ (
SQLITE_OPEN_NOMUTEX )ред рдЗрд╕ рдореЛрдб рдореЗрдВ, рдЖрдк рдПрдХ рд╕рд╛рде рдХрдИ рдереНрд░реЗрдбреНрд╕ рд╕реЗ рдПрдХ рд╣реА рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдереНрд░реЗрдбреНрд╕ рджреНрд╡рд╛рд░рд╛ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ)ред рдЖрдорддреМрд░ рдкрд░ рдЗрд╕ рд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдФрд░ рдЬрд╛рдиреЗрдВрдбреЗрдЯрд╛ рдкреНрд░рд╛рд░реВрдк
SQLite рдбреЗрдЯрд╛рдмреЗрд╕ UTF-8 рдпрд╛ UTF-16 рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд (рдкрд╛рда) рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдПрдкреАрдЖрдИ рдХреЙрд▓ рдХреЗ рд╕реЗрдЯ рдореЗрдВ рдХреЙрд▓ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ UTF-8 (
sqlite3_XXX ) рдФрд░ рдХреЙрд▓ рдЬреЛ UTF-16 (
sqlite3_XXX16 ) рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред
рдпрджрд┐ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдФрд░ рдХрдиреЗрдХреНрд╢рди рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛ рд╣реИ, рддреЛ рдордХреНрдЦреА рдкрд░ рд░реВрдкрд╛рдВрддрд░рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╣рдореЗрд╢рд╛ рдпреВрдЯреАрдПрдл -8 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдпреВрдирд┐рдХреЛрдб рдХрд╛ рд╕рдорд░реНрдерди
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдХреЛрдИ рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреЛ
sqlite3_create_collation рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдирд╛ рдХреЙрд▓реЗрд╢рди (рддреБрд▓рдирд╛ рд╡рд┐рдзрд┐) рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдФрд░
www.sqlite.org/c3ref/create_function.html рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдиреЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрд╛рд░реНрдпреЛрдВ
(), рдКрдкрд░реА (), рдирд┐рдЪрд▓реЗ () рдХреЛ
рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ ред
рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ
"рдпреВрдирд┐рдХреЛрдб рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдп рдШрдЯрдХ" , рдЖрдИрд╕реАрдпреВред
рдФрд░ рдХреБрдЫ SQLite DLL рдХреЛ
рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ ред
SQLite рдореЗрдВ ICU рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВредрдПрдХ рд╣рдм рдкрд░ рдПрдХ рд▓реЗрдЦ рдЖрдпрд╛
рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдФрд░ рдореВрд▓реНрдп рддреБрд▓рдирд╛
рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, SQLIte рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рдХреЙрд▓рдо рдореЗрдВ рдХреЛрдИ рднреА рдорд╛рди рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдЕрдВрджрд░ рдХрд╛ рдореВрд▓реНрдп рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рднрдВрдбрд╛рд░рдг рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
рд╢реВрдиреНрдп,INTEGER (1,2,3,4,6 рдпрд╛ 8 рдмрд╛рдЗрдЯреНрд╕ рд▓реЗрддрд╛ рд╣реИ),
рд╡рд╛рд╕реНрддрд╡рд┐рдХ (рдЕрд╕реНрдерд╛рдпреА рдмрд┐рдВрджреБ рд╕рдВрдЦреНрдпрд╛, IEEE рдкреНрд░рд╛рд░реВрдк рдореЗрдВ 8 рдмрд╛рдЗрдЯреНрд╕),
рдкрд╛рда (рдбреЗрдЯрд╛рдмреЗрд╕ рдбреЗрдЯрд╛ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдЖрдорддреМрд░ рдкрд░ UTF-8),
BLOB (рдЬреИрд╕рд╛ рдХрд┐ рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ)ред
рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдХреНрд░рдо рдХреНрд░рдо:
- рдХрдо рд╕реЗ рдХрдо (рдПрдХ рдФрд░
NULL рд╕рд╣рд┐рдд);
-
INTEGER рдФрд░
REAL рдХрд┐рд╕реА
TEXT рдФрд░
BLOB рд╕реЗ рдХрдо
рд╣реИрдВ , рдЙрдирдХреА рддреБрд▓рдирд╛ рдЕрдВрдХрдЧрдгрд┐рдд рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИ;
-
рдкрд╛рда рдХрд┐рд╕реА рднреА
BLOB рд╕реЗ рдХрдо рд╣реИ, рдЙрдирдХреА рддреБрд▓рдирд╛ рдЙрдирдХреЗ рдЯрдХрд░рд╛рд╡ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреА рдЬрд╛рддреА рд╣реИ;
-
BLOBs рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде
memcmp () рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рддреБрд▓рдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред
SQLite рдХрдИ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдордХреНрдЦреА рдкрд░ рдирд┐рд╣рд┐рдд рдкреНрд░рдХрд╛рд░ рдХреЗ рд░реВрдкрд╛рдВрддрд░рдг рдХрд░рддрд╛ рд╣реИ:
- рдХреЙрд▓рдо рдореЗрдВ рдорд╛рди рджрд░реНрдЬ рдХрд░рддреЗ рд╕рдордп (рдХреЙрд▓рдо рдХрд╛ рдкреНрд░рдХрд╛рд░ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рд▓рд┐рдП рд╕рд┐рдлрд╛рд░рд┐рд╢ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ);
- рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдореВрд▓реНрдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╕рдордпред
рдПрдХ рдХреЙрд▓рдо рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд
рдЯрд╛рдЗрдкрдХрд╛рд╕реНрдЯ рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ:
TEXT ,
NUMERIC ,
INTEGER ,
REAL ,
NONE ред
BLOB рдФрд░
NULL рдорд╛рди рд╣рдореЗрд╢рд╛ рдХрд┐рд╕реА рднреА "рдЬреИрд╕рд╛ рд╣реИ" рдХреЙрд▓рдо рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
TEXT рдХреЙрд▓рдо рдореЗрдВ,
TEXT рдорд╛рди "рдЬреИрд╕рд╛ рд╣реИ" рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ,
INTEGER рдФрд░
REAL рдХреЗ рдорд╛рди рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдмрди рдЬрд╛рддреЗ рд╣реИрдВред
NUMERIC ,
INTEGER рдХреЙрд▓рдо рдореЗрдВ, рд╕рдВрдЦреНрдпрд╛рдПрдВ "рдЬреИрд╕рд╛ рд╣реИ" рд▓рд┐рдЦреА рдЬрд╛рддреА рд╣реИрдВ, рдФрд░ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдирдВрдмрд░ рдмрди рдЬрд╛рддреА рд╣реИрдВ рдЕрдЧрд░ _mogut_ (рдпрд╛рдиреА, "рджреЛрд╖рд░рд╣рд┐рдд" рд░реВрдкрд╛рдВрддрд░рдг рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ)ред
рдПрдХ
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЙрд▓рдо рдХреЗ рд▓рд┐рдП, рдирд┐рдпрдо
INTEGER (
NUMERIC ) рдХреЗ рд╕рдорд╛рди рд╣реИрдВ; рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рд╕рднреА рдирдВрдмрд░ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдлреЙрд░реНрдореЗрдЯ рдореЗрдВ рд╣реИрдВред
NONE рдХреЙрд▓рдо рдореЗрдВ, рдорд╛рдиреЛрдВ рдХреЛ "рдЬреИрд╕рд╛ рд╣реИ" рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдпрд╣ рдкреНрд░рдХрд╛рд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдЕрдиреНрдпрдерд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рди рд╣реЛ)ред
рдЬрдм рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рдХрд╛рд░ рдХрд╛ рд░реВрдкрд╛рдВрддрд░рдг рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдХрд┐рд╕реА рд╕рдВрдЦреНрдпрд╛ рдХреА рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╕рдордп, рдпрджрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ "рджреЛрд╖рд░рд╣рд┐рдд" рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдмрди рдЬрд╛рддреА рд╣реИред
рдФрд░ рдЬрд╛рдиреЗрдВрдореИрдВ рдпрд╣рд╛рдВ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рд╕реВрдЪрдХрд╛рдВрдХ рдореЗрдВ SQLite рдореЗрдВ рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ
NULL рдорд╛рди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ (Oracle рд╕рд╣рдордд рд╣реИрдВ рдФрд░ MS SQL рд╕рд╣рдордд рдирд╣реАрдВ рд╣реИ)ред
рдЗрди-рдореЗрдореЛрд░реА рдбреЗрдЯрд╛рдмреЗрд╕
рдпрджрд┐
sqlite3_open () рдХреЙрд▓ рдореЗрдВ рдЖрдк рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХреЛ
": рдореЗрдореЛрд░реА:" рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ , рддреЛ SQLite
рдореЗрдореЛрд░реА рдореЗрдВ рдирдП (рд╕реНрд╡рдЪреНрдЫ) рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдПрдХ рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рдПрдЧрд╛ред
рдЙрдкрдпреЛрдЧ рддрд░реНрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдпрд╣ рдХрдиреЗрдХреНрд╢рди рдмрд┐рд▓реНрдХреБрд▓ рдЕрдкреНрд░рднреЗрджреНрдп рд╣реИ: SQL рдХрдорд╛рдВрдб рдХрд╛ рдПрдХ рд╣реА рд╕реЗрдЯ рдЙрдкрд▓рдмреНрдз рд╣реИред
рдХрд╛рд╢, рд╕реНрдореГрддрд┐ рдореЗрдВ рдПрдХ рд╣реА рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рджреЛ рдХрдиреЗрдХреНрд╢рди рдЦреЛрд▓рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИредUPD: рдкрд╣рд▓реЗ рд╕реЗ рд╣реА, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ, рдЖрдк рдореЗрдореЛрд░реА рдореЗрдВ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рджреЛ рдХрдиреЗрдХреНрд╢рди рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВред
rc = sqlite3_open("file:memdb1?mode=memory&cache=shared", &db);
ATTACH DATABASE 'file:memdb1?mode=memory&cache=shared' AS aux1;
рдФрд░ рдЬрд╛рдиреЗрдВрдПрдХ рд╕рд╛рде рдХрдИ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд░рд╣реЗ рд╣реИрдВ
рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП,
sqlite3_open () рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдХрд┐рд╕реА рднреА рд╕рдордп, рд╣рдо SQL
ATTACH DATABASE рдХрдорд╛рдВрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдЦреБрд▓реЗ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП 10 рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ
рд╕рдВрд▓рдЧреНрди рдХрд░ рд╕рдХрддреЗ
рд╣реИрдВ ред
sqlite3_open('foo.sqlite3', &db); // "foo.sqlite3" sqlite3_exec(&db, "ATTACH 'bar.sqlite3' AS bar", ... ); // "bar.sqlite3"
рдЕрдм db1.sqlite3 рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рднреА рдбреЗрдЯрд╛рдмреЗрд╕ рдЯреЗрдмрд▓ рдкрд╛рд░рджрд░реНрд╢реА рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реЗ рдХрдиреЗрдХреНрд╢рди рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЧрдП рд╣реИрдВред
рдирд╛рдо рд╕рдВрдШрд░реНрд╖реЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрдиреБрд▓рдЧреНрдирдХ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рдореБрдЦреНрдп рдЖрдзрд╛рд░ рдХреЛ
"рдореБрдЦреНрдп" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ):
SELECT * FROM main.my_table UNION SELECT * FROM bar.my_table
рдХреБрдЫ рднреА рдЖрдкрдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдореЗрдореЛрд░реА рдореЗрдВ рдПрдХ рдирдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд▓рдЧреНрди рдХрд░рдиреЗ рдФрд░ рдХреИрд╢рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ, рдЖрджрд┐ред
sqlite3_open('foo.sqlite3', &db); // "foo.sqlite3" sqlite3_exec(&db, "ATTACH ':memory:' AS mem", ... ); //
рдФрд░ рдЬрд╛рдиреЗрдВрдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рдЙрдкрдпреЛрдЧреА рд╕реБрд╡рд┐рдзрд╛ рд╣реИред рд╕рдВрд▓рдЧреНрди рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдореБрдЦреНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рдорд╛рди рдбреЗрдЯрд╛ рдкреНрд░рд╛рд░реВрдк рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдиреНрдпрдерд╛ рдПрдХ рддреНрд░реБрдЯрд┐ред
рдЕрд╕реНрдерд╛рдпреА рдбреЗрдЯрд╛рдмреЗрд╕
Sqlite3_open () рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкрд╛рд╕ рдХрд░реЗрдВ рдФрд░ рдбрд┐рд╕реНрдХ рдкрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕реЗ рдбрд┐рд╕реНрдХ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
PRAGMA рдХрдорд╛рдВрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рдлрд╛рдЗрди рдЯреНрдпреВрдирд┐рдВрдЧ
PRAGMA SQL рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдиреЗрдХреНрд╢рди рдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
PRAGMA name; // name PRAGMA name = value; // name value
рдХрдиреЗрдХреНрд╢рди рд╕реЗрдЯрдЕрдк (рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ) рдЦреЛрд▓рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдФрд░ рдЙрдкрдпреЛрдЧ рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рднреА рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдПрдХ рдкреВрд░рд╛ рд╡рд┐рд╡рд░рдг
рдпрд╣рд╛рдВ рд╣реИ ред
рдореИрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЪреАрдЬреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдиреНрджреНрд░рд┐рдд рдХрд░реВрдВрдЧрд╛ред
PRAGMA page_size = bytes; // ; - , ( 4096) PRAGMA cache_size = -kibibytes; // , 2000 PRAGMA encoding = "UTF-8"; // , UTF-8 PRAGMA foreign_keys = 1; // foreign keys, - PRAGMA journal_mode = DELETE | TRUNCATE | PERSIST | MEMORY | WAL | OFF; // , . PRAGMA synchronous = 0 | OFF | 1 | NORMAL | 2 | FULL; // , .
рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВ рдФрд░ рд▓реЗрдирджреЗрди рдХрд░реЗрдВ
рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдЖрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреА рдорд╣рд╛рд░рдд рдЖрдкрдХреЛ рддреБрд░рдВрдд SQLite рдХреЗ рдорд╛рд╕реНрдЯрд░ рдХреЗ рддреАрд╕рд░реЗ рд╕реНрддрд░ рдкрд░ рд▓реЗ рдЬрд╛рддреА рд╣реИред
SQLite рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рдХреА рдЕрдЦрдВрдбрддрд╛ (
ACID ) рдХреА рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИ,
рд▓реЗрдирджреЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░ рдХреЛ рд▓рд╛рдЧреВ
рдХрд░рддрд╛ рд╣реИ ред
рд▓реЗрди-рджреЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ: рдПрдХ рд▓реЗрдирджреЗрди рдпрд╛ рддреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓реБрдврд╝рдХрд╛ рд╣реБрдЖ рд╣реИ рдпрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓реБрдврд╝рдХрд╛ рд╣реБрдЖ рд╣реИред рдХреЛрдИ рдордзреНрдпрд╡рд░реНрддреА рд░рд╛рдЬреНрдп рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рд▓реЗрди-рджреЗрди рдХрд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ (
BEGIN; ... COMMIT; )
; рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд▓реЗрдирджреЗрди рд╣рдореЗрд╢рд╛ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред рдпрд╣ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рд╕рдВрдпреЛрдЧ рд╕реЗ, рдФрд░ SQLite рдХреЗ "рд╕реБрд╕реНрддреА" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╢рд┐рдХрд╛рдпрддреЗрдВред SQLite рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб 50 рд╣рдЬрд╛рд░ рд░рд┐рдХреЙрд░реНрдб рднреА рдбрд╛рд▓ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб ~ 50 рд╕реЗ рдЕрдзрд┐рдХ
рд▓реЗрдирджреЗрди рд░рд┐рдХреЙрд░реНрдб рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд▓реЗрдирджреЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрд▓реНрджреА рд╕реЗ рд░рд┐рдХреЙрд░реНрдб рдбрд╛рд▓рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд░, SQLite рдбреЗрдЯрд╛рдмреЗрд╕
рдХреА рдЕрдЦрдВрдбрддрд╛ рдХреА
рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдмрд┐рдЬрд▓реА рдмрдВрдж рд╣реЛред
рдпрд╣ рдЕрджреНрднреБрдд рд╡реНрдпрд╡рд╣рд╛рд░
рд▓реЙрдЧрд┐рдВрдЧ (рдПрдХ рд╡рд┐рд╢реЗрд╖ рдлрд╝рд╛рдЗрд▓) рдФрд░ рдбрд┐рд╕реНрдХ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рддрдВрддреНрд░ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
- рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдХрд┐рд╕реА рднреА рд╕рдВрд╢реЛрдзрди рд╕реЗ рдкрд╣рд▓реЗ, SQLite рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ (рд▓реЙрдЧ) рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдкреГрд╖реНрдареЛрдВ рдХреЛ рдмрдЪрд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдпрд╣ рдмрд╕ рдЙрдиреНрд╣реЗрдВ рд╡рд╣рд╛рдВ рдХреЙрдкреА рдХрд░рддрд╛ рд╣реИ;
- рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдХрд┐ рдкреГрд╖реНрдареЛрдВ рдХреА рдПрдХ рдкреНрд░рддрд┐ рдмрдирд╛рдИ рдЧрдИ рд╣реИ, SQLite рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдмрджрд▓рдирд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ;
- рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрди "рдбрд┐рд╕реНрдХ рдкрд░ рдкрд╣реБрдВрдЪ рдЧрдП" рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреВрд░реНрдг рд╣реЛ рдЧрдпрд╛ рд╣реИ, SQLite рд▓реЙрдЧ рдХреЛ рдорд┐рдЯрд╛ рджреЗрддрд╛ рд╣реИред
рд▓реЗрдирджреЗрди рддрдВрддреНрд░ рдХреА рдкрд░рдорд╛рдгреБрддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди
рдпрд╣рд╛рдБ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред
рдпрджрд┐ SQLite рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдПрдХ рдХрдиреЗрдХреНрд╢рди рдЦреЛрд▓рддрд╛ рд╣реИ рдФрд░ рджреЗрдЦрддрд╛ рд╣реИ рдХрд┐ рд▓реЙрдЧ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИ, рддреЛ рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрдкреВрд░реНрдг рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЕрдВрддрд┐рдо рд▓реЗрди-рджреЗрди рд╡рд╛рдкрд╕ рдХрд░ рджреЗрддрд╛ рд╣реИред
рдпрд╣реА рд╣реИ, рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХреЗ рдмрд╛рдж рдбреЗрдЯрд╛рдмреЗрд╕ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рддрдВрддреНрд░, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, SQLite рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдореВрд▓ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд▓реЙрдЧ
DELETE рдореЛрдб рдореЗрдВ рд╣реИред
PRAGMA journal_mode = DELETE
рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рд▓реЗрдирджреЗрди рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдореЛрдб рдореЗрдВ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рд╣реЛрдиреЗ рдХреЗ рддрдереНрдп рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ SQLite рдХреЗ рд▓рд┐рдП рд▓реЗрди-рджреЗрди рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реБрдЖ рдерд╛, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ "-journal" рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред
TRUNCATE рдореЛрдб рдореЗрдВ, рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╢реВрдиреНрдп рдкрд░ рдХрд╛рдЯ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдХреБрдЫ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬрд╝реА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ)ред
PERSIST рдореЛрдб рдореЗрдВ
, рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓
рдХреА рд╢реБрд░реБрдЖрдд рд╢реВрдиреНрдп рд╕реЗ рднрд░реА рд╣реБрдИ рд╣реИ (рдЬрдмрдХрд┐ рдЗрд╕рдХрд╛ рдЖрдХрд╛рд░ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕реНрдерд╛рди рд▓реЗ рд╕рдХрддрд╛ рд╣реИ)ред
рдореЗрдореЛрд░реА рдореЛрдб рдореЗрдВ, рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЬрд▓реНрджреА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рд░рд┐рдХрд╡рд░реА рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ (рдбрд┐рд╕реНрдХ рдкрд░ рдбреЗрдЯрд╛ рдХреА рдХреЛрдИ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдирд╣реАрдВ рд╣реИ)ред
рдпрд╛ рдЖрдк рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЬрд░реНрдирд▓ рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (
PRAGMA journal_mode = OFF )ред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд▓реЗрди-рджреЗрди рд░реЛрд▓рдмреИрдХ (
рд░реЛрд▓рдмреИрдХ рдЖрджреЗрд╢) рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреНрд░реИрд╢ рд╣реЛрдиреЗ рдкрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдЦрд░рд╛рдм рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред
рд╕реНрдореГрддрд┐ рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП, рд▓реЙрдЧ рдореЛрдб рдХреЗрд╡рд▓
рдореЗрдореЛрд░реА рдпрд╛
рдСрдлрд╝ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдереЛрдбрд╝рд╛ рдкреАрдЫреЗ рдЪрд▓рддреЗ рд╣реИрдВред SQLite рдХреИрд╕реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣рдореЗрд╢рд╛ рдкреВрд░рд╛ рд╣реЛрдЧрд╛?
рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдзреБрдирд┐рдХ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рдХреИрд╢рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдбрд┐рд╕реНрдХ рдкрд░ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рджреЗрд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдорд╛рди рд▓реЗрдВ рдХрд┐ SQLite рдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд▓рд┐рдЦрдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рд▓реЗрдирджреЗрди рдХрд░рдиреЗ рдХреЗ рддрдереНрдп рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдорд┐рдЯрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред
рдпрджрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрдкрдбреЗрдЯ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдлрд╝рд╛рдЗрд▓ рдорд┐рдЯрд╛ рджреА рдЬрд╛рддреА рд╣реИ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛?
рдпрджрд┐ рдЗрд╕ рдЕрд╡рдзрд┐ рдХреЗ рджреМрд░рд╛рди рдмрд┐рдЬрд▓реА рдмрдВрдж рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рд▓реЙрдЧ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрднреА рддрдХ рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ - рдбреЗрдЯрд╛ рд╣рд╛рдирд┐!
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд╕рд░рд▓ рдкрд░рд┐рд╡рд░реНрддрди рдкреНрд░рддрд┐рдмрджреНрдз рддрдВрддреНрд░ рдХреЛ рдбрд┐рд╕реНрдХ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рдУрдПрд╕ рд╕реЗ рдХреБрдЫ рдЧрд╛рд░рдВрдЯреА рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
PRAGMA рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЗрд╕ рдкреНрд░рднрд╛рд╡ рдХреЗ рд▓рд┐рдП "рд╡реНрдпрд╛рдореЛрд╣" SQLite рдХреА рдбрд┐рдЧреНрд░реА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдСрдл рдореЛрдб (рдпрд╛ 0) рдХрд╛ рдЕрд░реНрде рд╣реИ: SQLite рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдбрд┐рд╕реНрдХ рдкрд░ рддреБрд░рдВрдд рддрдп рд╣реЛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ OS рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЕрд░реНрдерд╛рдд, рд╕рдВрдЧрдд OS API рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж)ред
рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрд░реИрд╢ рд╣реЛрдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЕрдЦрдВрдбрддрд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдУрдПрд╕ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИ), рд▓реЗрдХрд┐рди
рдУрдПрд╕ рдХреНрд░реИрд╢ рдпрд╛ рдкрд╛рд╡рд░ рдЖрдЙрдЯреЗрдЬ рдХреА
рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдирд╣реАрдВред
NORMAL рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд╝реЗрд╢рди рдореЛрдб (рдпрд╛ 1) OS рдХреНрд░реИрд╢ рдФрд░ рд▓рдЧрднрдЧ рд╕рднреА рдкрд╛рд╡рд░ рдЖрдЙрдЯреЗрдЬ рдХреЗ рджреМрд░рд╛рди рдЕрдЦрдВрдбрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИред рдПрдХ рдЧреИрд░-рд╢реВрдиреНрдп рдореМрдХрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдмрд┐рдЬрд▓реА
рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЕрдкрд░реНрдпрд╛рдкреНрдд рд╕рдордп рдкрд░ рдЦреЛ рдЬрд╛рддреА рд╣реИ
, рддреЛ рдЖрдзрд╛рд░ рдмрд┐рдЧрдбрд╝ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рддрд░рд╣ рдХрд╛ рдорд╛рдзреНрдпрдо, рд╕рдордЭреМрддрд╛ рдореЛрдб рд╣реИред
рдкреВрд░реНрдг рдореЛрдб рд╣рдореЗрд╢рд╛ рдФрд░ рд╣рд░ рдЬрдЧрд╣ рдФрд░ рдХрд┐рд╕реА рднреА рджреБрд░реНрдШрдЯрдирд╛ рдореЗрдВ рдЕрдЦрдВрдбрддрд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдЕрдзрд┐рдХ рдзреАрд░реЗ-рдзреАрд░реЗ, рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рдЬрдЧрд╣реЛрдВ рдкрд░ рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдард╣рд░рд╛рд╡ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдФрд░ рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдореЛрдб рд╣реИред
рддреЛ, рдХреЗрд╡рд▓
рд╡рд╛рд▓ рдЬреИрд╕реА рдкрддреНрд░рд┐рдХрд╛ рдХрд╛ рд╡рд┐рд╖рдп рд╣реА рдирд╣реАрдВ рд░рд╣ рдЧрдпрд╛ред
рд╡рд╛рд▓ рд▓реЙрдЧ рдореЛрдб
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдбреЗрдЯрд╛рдмреЗрд╕ рд▓реЙрдЧ рдореЛрдб рд╣рдореЗрд╢рд╛
DELETE рдХреЛ "рд░рд┐рдЯрд░реНрди" рдХрд░рддрд╛ рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдордиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдЦреЛрд▓рд╛ рдФрд░ рдореЛрдб рдХреЛ
PERSIST рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ред рдбреЗрдЯрд╛ рдмрджрд▓ рджрд┐рдпрд╛, рдХрдиреЗрдХреНрд╢рди рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ред
рдбрд┐рд╕реНрдХ рдкрд░ рдПрдХ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рд╣реИ (рдЬрд┐рд╕рдХреА рд╢реБрд░реБрдЖрдд рд╢реВрдиреНрдп рд╣реИ)ред
рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдЦреЛрд▓реЗрдВред рдпрджрд┐ рдЖрдк рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ рд▓реЙрдЧ рдореЛрдб рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдлрд┐рд░ рд╕реЗ
DELETE рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдЬреИрд╕реЗ рд╣реА рд╣рдо рдбреЗрдЯрд╛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЯреНрд░рд╛рдВрдЬреЗрдХреНрд╢рди рдХрдо рдореИрдХреЗрдирд┐рдЬреНрдо рд▓реЙрдЧ рдлрд╛рдЗрд▓ рдХреЛ рдорд┐рдЯрд╛ рджреЗрдЧрд╛ред
рд╡рд╛рд▓ рд▓реЙрдЧ рдореЛрдб рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ - рдпрд╣ "рд▓рдЧрд╛рддрд╛рд░" рд╣реИред рдЬреИрд╕реЗ рд╣реА рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╡рд╛рд▓ рдореЛрдб рдореЗрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВ, рдпрд╣ рдЗрд╕ рдореЛрдб рдореЗрдВ рд░рд╣реЗрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреВрд╕рд░реЗ рд▓реЙрдЧ рдореЛрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ред
рддреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?
рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, SQLite рдХреЛ рдПрдХ рдПрдореНрдмреЗрдбреЗрдб рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдбреЗрдЯрд╛ рддрдХ рдПрдХ рд╕рд╛рде рдкрд╣реБрдВрдЪ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдЖрджрд┐рдо рдереА: рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрдИ рдХрдиреЗрдХреНрд╢рди рдбреЗрдЯрд╛рдмреЗрд╕ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдПрдХ рдХрдиреЗрдХреНрд╢рди рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдордп рдкрд░ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИред рдпрд╣, рдХрдо рд╕реЗ рдХрдо, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд▓реЗрдЦрди рдХрдиреЗрдХреНрд╢рди рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдкрд╛рдардХреЛрдВ рд╕реЗ "рдЬрд╛рд░реА" рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЬрдм "рд╡реНрдпрд╕реНрдд" рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ
SQLITE_BUSY рддреНрд░реБрдЯрд┐ (
SQL рдХреЗ рд╕рд╛рде рднреНрд░рдорд┐рдд рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП!)ред рдлрд╝рд╛рдЗрд▓ рд▓реЙрдХрд┐рдВрдЧ рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╣реБрдВрдЪ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рддрдВрддреНрд░ рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЬреЛ рдиреЗрдЯрд╡рд░реНрдХ рдбреНрд░рд╛рдЗрд╡ рдкрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП SQLite рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИ; рдФрд░
рдЬрд╛рдиреЗрдВ );
рд╡рд╛рд▓ (
рд░рд╛рдЗрдЯ-рдЕрд╣реЗрдб рд▓реЙрдЧрд┐рдВрдЧ ) рдореЛрдб рдореЗрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ "рд░реАрдбрд░" рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ "рд▓реЗрдЦрдХ" рдЕрдм рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╣рд╕реНрддрдХреНрд╖реЗрдк рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд, рдкрдврд╝рддреЗ рд╕рдордп рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдпрд╣ рдмрдбрд╝реЗ рдФрд░ рдЧрдВрднреАрд░ рдбреАрдмреАрдПрдордПрд╕ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдПрдХ рдХрджрдо рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рдм рдХреБрдЫ рд╣реИред рдпрд╣ рднреА рддрд░реНрдХ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд▓ рдореЗрдВ SQLite рддреЗрдЬ рд╣реИред
рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдиреБрдХрд╕рд╛рди рднреА рд╣реИрдВ:
- рдУрдПрд╕ рд╕реЗ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рд╢реНрддрд┐рдХреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдпреВрдирд┐рдХреНрд╕ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ рдпреЗ рдирд┐рд╢реНрддрд┐рдХреА рд╣реИрдВ);
- рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдИ рдлрд╛рдЗрд▓реЗрдВ рд▓реЗрддрд╛ рд╣реИ (рдлрд╛рдЗрд▓реЗрдВ
"XXX-рд╡рд╛рд▓" рдФрд░
"XXX-shm" );
- рдпрд╣ рдмрдбрд╝реЗ рд▓реЗрдирджреЗрди рдкрд░ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ, рдпрджрд┐ рд▓реЗрдирджреЗрди 50 рдПрдордмреА рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ);
- рдЖрдк рд░реАрдб-рдУрдирд▓реА рдореЛрдб рдореЗрдВ рдРрд╕рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдирд╣реАрдВ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ;
- рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд
рдЪреЗрдХрдкреЙрдЗрдВрдЯ рдСрдкрд░реЗрд╢рди рд╣реЛрддрд╛ рд╣реИред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╡рд╛рд▓ рдореЛрдб рдореЗрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рдбреЗрдЯрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмреАрдЪ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЪреЗрдХрдкреЙрдЗрдВрдЯ рдСрдкрд░реЗрд╢рди рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐ рд▓реЙрдЧ рдиреЗ 1000 рдбреЗрдЯрд╛рдмреЗрд╕ рдкреГрд╖реНрда рд▓реЗ рд▓рд┐рдП рд╣реИрдВред
рдпрд╣реА рд╣реИ, рддреЗрдЬреА рд╕реЗ рдХрдорд┐рдпрд╛рдВ рд╣реИрдВ рдФрд░ рдЕрдЪрд╛рдирдХ рдХреБрдЫ рдХрдорд┐рдЯ рдиреЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛ рдФрд░ рдЪреЗрдХрдкреЙрдЗрдВрдЯ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдпрджрд┐ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдЕрд╡рд╛рдВрдЫрдиреАрдп рд╣реИ, рддреЛ рдЖрдк рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдЪреЗрдХрдкреЙрдЗрдВрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЬрдм рд╕рдм рдХреБрдЫ рд╢рд╛рдВрдд рд╣реЛрддрд╛ рд╣реИ), рдЖрдк рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдХреА рд╕реАрдорд╛
рдЗрд╕рдХреЗ рд▓рдШреБрдХрд░рдг рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ SQLite рдлрд╝реАрд▓реНрдб, рдЯреЗрдмрд▓ рдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдЖрдХрд╛рд░ рдкрд░ рдЧрдВрднреАрд░ рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ рд▓рдЧрд╛рддрд╛ рд╣реИред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдПрдХ BLOB рдпрд╛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рди 1 GB рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдПрдХ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдЖрдХрд╛рд░ рдХреА рд╕реАрдорд╛ рд╣реИ (рдЖрдк рдЗрд╕реЗ 2 ^ 31 - 1, SQLITE_MAX_LENGTH рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ)ред
рд╕реНрддрдВрднреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛: 2000 (32767, SQLITE_MAX_COLUMN рддрдХ рдмрдврд╝рд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ)ред
SQL рдХрдерди рдХрд╛ рдЖрдХрд╛рд░: 1 MB (1073741824 рдмрд╛рдЗрдЯреНрд╕, SQLITE_MAX_SQL_LENGTH)ред
рдПрдХ рд╕рд╛рде рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ: 64 рдЯреЗрдмрд▓ред
рдХрдиреЗрдХреНрд╢рди рдХреЛ рдЖрдзрд╛рд░ рд╕рдВрд▓рдЧреНрди рдХрд░реЗрдВ: 10 (62 рддрдХ, SQLITE_MAX_ATTACHED)
рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЕрдзрд┐рдХрддрдо рдкреГрд╖реНрда: 1073741823 (2147483646, SQLITE_MAX_PAGE_COUNT рддрдХ)ред
рдпрджрд┐ рдЖрдк рдкреГрд╖реНрда рдХрд╛ рдЖрдХрд╛рд░ 65,636 рдмрд╛рдЗрдЯреНрд╕ рдкрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЕрдзрд┐рдХрддрдо рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЖрдХрд╛рд░ рд▓рдЧрднрдЧ 14 рдЯреЗрд░рд╛рдмрд╛рдЗрдЯреНрд╕ рд╣реЛрдЧрд╛ред
рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ 2 ^ 64 - 1 рд╣реИ, рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЖрдХрд╛рд░ рд╕реАрдорд╛ рдкрд╣рд▓реЗ рдЖрдПрдЧреАред
рдЕрдзрд┐рдХ рдЬрд╛рдиреЗрдВ
sqlite.org/limits.htmlUDP: SQLite рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рд▓рд┐рдВрдХреНрд╕:
1 2 android-1 android-2рдЬрд╛рд░реА рд░рдЦрд╛ рдЬрд╛рдП