์ฃผ์
- ์ถ๊ฐ ์ง์
์์ฑ๋ ์ด (๊ณ์ฐ๋ ์ด) - ๋ค๋ฅธ ์ด์ ๋ด์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ์ด ์๋์ผ๋ก ๊ณ์ฐ๋๋ ํ ์ด๋ธ์ ์์ฑํ ๋ ์ด์ ์ ์ํ ์ ์์ต๋๋ค. ์์ฑ๋ ์ด์ ๊ฐ์(์ก์ธ์คํ ๋๋ง๋ค ์ฆ์ ์์ฑ๋จ)์ด๊ฑฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ์ ์์ต๋๋ค(๊ด๋ จ ์ด์ด ์ ๋ฐ์ดํธ๋ ๋๋ง๋ค ์ ์ฅ๋จ). ์์ฑ๋ ์ด์ ๋ด์ฉ์ ์ฝ๊ธฐ ๋ชจ๋์์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ณ๊ฒฝ ์ฌํญ์ ๊ณ์ฐ๊ณผ ๊ด๋ จ๋ ๋ค๋ฅธ ์ด์ ๊ฐ์ ์์ ํด์ผ๋ง ์ ์ฉ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด:ํ ์ด๋ธ ์์ฑ t1(
์ ์ ๊ธฐ๋ณธ ํค,
b INT,
c ํ ์คํธ,
d INT๋ ํญ์ (a*abs(b)) VIRTUAL๋ก ์์ฑ๋ฉ๋๋ค.
e ํ ์คํธ๋ ํญ์ (substr(c,b,b+1)) ์ ์ฅ๋จ์ผ๋ก ์์ฑ๋ฉ๋๋ค.
); - ํ๋ผ๊ทธ๋ง(Pragma)๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
์ ๋ขฐํ ์ ์๋_์คํค๋ง , ์ค์ SQLITE_DBCONFIG_TRUSTED_SCHEMA ๋ฐ ์ด์ ๋ธ๋ฆฌ ์ต์ "-DSQLITE_TRUSTED_SCHEMA"๋ฅผ ์ฌ์ฉํ๋ฉด ๋ค์์ ๋ํ ๋ณดํธ ํฌํจ์ ์ ์ดํ ์ ์์ต๋๋ค.๊ณต๊ฒฉ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ ์คํค๋ง ์์ ์ ํตํด. ํ์ฑ ๋ณดํธ๋ ํธ๋ฆฌ๊ฑฐ, ๋ทฐ, CHECK ๋ฐ DEFAULT ๋ฌธ, ์ธ๋ฑ์ค ๋ฐ ์์ฑ๋ ์ด์์ SQL ํจ์(SQLITE_INNOCUOUS๋ก ํ์๋์ง ์์)์ ์ฌ์ฉ์ ์ ํํฉ๋๋ค. SQLITE_VTAB_INNOCUOUS ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ ํ ์ด๋ธ์ ๋ช ์์ ์ผ๋ก ์ ์ธํ์ง ์๋ ํ ํธ๋ฆฌ๊ฑฐ ๋ฐ ๋ทฐ์์ ๊ฐ์ ํ ์ด๋ธ์ ์ฌ์ฉํ ์๋ ์์ต๋๋ค. - ์ ํ๋ฆฌ์ผ์ด์
์ ์ ์๋ SQL ํจ์์ ์์ฑ์ ํ ๋นํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ์ต๋๋ค.
SQLITE_INNOCUOUS (์ธ๋ถ ๋งค๊ฐ ๋ณ์์ ์์กดํ์ง ์๊ณ ์ ์์ ์ธ ์์ ์ ์ํํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ๋ฌดํดํ ๊ธฐ๋ฅ) ๋ฐSQLITE_DIRECTONLY (ํธ๋ฆฌ๊ฑฐ, ๋ณด๊ธฐ ๋ฐ ๋ฐ์ดํฐ ๊ตฌ์กฐ ๋ค์ด์ด๊ทธ๋จ์์ ์ฌ์ฉํ ๊ฐ๋ฅ์ฑ ์์ด SQL ์ฟผ๋ฆฌ์์ ์ง์ ํธ์ถ๋ง ๊ฐ๋ฅ) - ๋ชจ๋ ์ถ๊ฐ
uuid UUID ์ฒ๋ฆฌ๋ฅผ ์ํ ๊ธฐ๋ฅ ๊ตฌํ(RFC-4122) - ํ๋ผ๊ทธ๋ง(Pragma)๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
hard_heap_limit ๋ฐ ๊ธฐ๋ฅsqlite3_hard_heap_limit64() ์ต๋ ํ ํฌ๊ธฐ๋ฅผ ์ ์ดํฉ๋๋ค. - ํ๋ผ๊ทธ๋ง์์
ํจ์_๋ชฉ๋ก ๊ฐ ํจ์์ ์ ํ, ์์ฑ ๋ฐ ์ธ์ ์์ ๋ํ ์ถ๋ ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค. - ๊ฐ์ ํ
์ด๋ธ DBSTAT๋ก
์ถ๊ฐ ๋ฐ์ดํฐ ์ง๊ณ ๋ชจ๋; - sqlite3_open_v2()๋ ์ฌ๋ณผ๋ฆญ ๋งํฌ ์ด๊ธฐ๋ฅผ ๋นํ์ฑํํ ์ ์๋ SQLITE_OPEN_NOFOLLOW ์ต์ ์ ๊ตฌํํฉ๋๋ค.
- ๋
ผ์์ ์ํด
PATH , JSON ํจ์์ ์ ๋ฌ๋๊ณ "#-N" ๋ฐฐ์ด ํ๊ธฐ๋ฒ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. - ๋ฉ๋ชจ๋ฆฌ ๋ถ๋ฐฐ ์์คํ
์์
๋์น์ฑ๋ค ๋ ๊ฐ์ ๋ณ๋ ๋ฉ๋ชจ๋ฆฌ ํ์ ๋ํ ์ง์์ด ๊ตฌํ๋์์ผ๋ฉฐ, ๊ฐ๊ฐ์ ์๋ก ๋ค๋ฅธ ํฌ๊ธฐ์ ๋ธ๋ก์ ํ ๋นํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ถ๋ฆฌ๋ฅผ ํตํด ๊ฐ ์ฐ๊ฒฐ์ ํ ๋น๋ ๋ฒํผ ํฌ๊ธฐ๋ฅผ 120์์ 48๋ก ์ค์ด๋ฉด์ Lookaside ์์คํ ์ ์ฌ์ฉ์ ํ์ฅํ ์ ์์ต๋๋ค. KB); - PRAGMA ์ง์์ด ์ค๋จ๋์์ต๋๋ค
๋ ๊ฑฐ์_ํ์ผ_ํ์ VACUUM, ์์ฑ๋ ์ด ๋ฐ ๋ด๋ฆผ์ฐจ์ ์ธ๋ฑ์ค์ ํธํ๋์ง ์์์ต๋๋ค(๋ ๊ฑฐ์ ํ์ ์ง์์ sqlite3_db_config()์ SQLITE_DBCONFIG_LEGACY_FILE_FORMAT ํ๋๊ทธ๋ฅผ ํตํด ๋ฐํ๋ ์ ์์).
์ถ์ฒ : opennet.ru