Repository navigation
Large Files and Limits
์ฌ์ฉ์์ฉ ์ค๋ช ์ ๋๋ค. ๊ธฐ์ ์์ฅ(๊ทผ๊ฑฐ ์ฝ๋ ยท ์ค์ธก)์ ์ ์ฅ์์ docs/72.
Nexa SQL์ SQL ์คํฌ๋ฆฝํธ๊ฐ ์ปค์ง๋ฉด ํญ๋ง๋ค ๋จ๊ณ๋ฅผ ์ ํ๊ณ , ๊ทธ ๋จ๊ณ์์ ๋ถ๋ด์ด ํฐ ๋ถ๊ฐ ๊ธฐ๋ฅ์ ์๋์ผ๋ก ๋๋๋ค. ํธ์งยท์ ํยท์ฐพ๊ธฐยท์คํ์ ์ด๋ ํฌ๊ธฐ์์๋ ๊ทธ๋๋ก ๋ฉ๋๋ค โ ๊บผ์ง๋ ๊ฒ์ "๋ณด๊ธฐ ์ข๊ฒ ํด ์ฃผ๋" ๊ธฐ๋ฅ๋ฟ์ ๋๋ค.
| ๋จ๊ณ | ๊ธฐ์ค(๋ ์ค ํ๋๋ผ๋ ๋์ผ๋ฉด) | ๊ธฐ๋ณธ๊ฐ |
|---|---|---|
| ๋ณดํต | โ | โ |
| L1 | ํ์ผ ํฌ๊ธฐ ๋๋ ์ค ์ | 5 MB / 100,000์ค |
| L2 | ํ์ผ ํฌ๊ธฐ ๋๋ ์ค ์ | 20 MB / 300,000์ค |
| ์ด๊ธฐ ์ ์ ๋ฌป๊ธฐ | ํ์ผ ํฌ๊ธฐ | 50 MB |
- ๋จ๊ณ๋ ํ์ผ์ ์ด ๋์ ์ ์ฅํ ๋ ๋ค์ ์ ํฉ๋๋ค. ์ด ๋ ์ํ์ค์ ์๋ด๊ฐ ๋จ๊ณ , ๊ทธ ํญ์ด ํ์ฑ์ธ ๋์ ์ํ์ค ์ค๋ฅธ์ชฝ์
L1/L2ํ์์ด ๋ ๋ณด์ ๋๋ค. - ๊ธฐ์ค ๋ฐ๊พธ๊ธฐ: ์ค์ ์ฐฝ โธ Files โธ "Large file L1/L2 (MB ยท lines)" ๋๋ CLI
nsql config set file.large_l1_mb 10ยทnsql config set file.large_l2_lines 500000 -
์ด ํญ๋ง ์ ๋ถ ์ผ๊ณ ์ถ์ผ๋ฉด: ๋ช
๋ น ํ๋ ํธ(Ctrl+Shift+P) โธ Toggle Large File Optimizations (This Tab) โ ์ํ์ค์
L1/L2ํ์์ด ์ฌ๋ผ์ง๊ณ ๋ชจ๋ ๊ธฐ๋ฅ์ด ์ผ์ง๋๋ค(๋ค์์ ์ด๊ฑฐ๋ ์ ์ฅํ ๋๊น์ง ์ ์ง).
| ๊ธฐ๋ฅ | L1๋ถํฐ | L2๋ถํฐ | ๋ฐ๊พธ๋ ์ค์ |
|---|---|---|---|
| ๋ฏธ๋๋งต | ๋ | ๋ | (๋จ๊ณ ๊ณ ์ ยท ๋ณดํต ํฌ๊ธฐ์์๋ 4,000์ค๊น์ง๋ง ๊ทธ๋ฆผ) |
| ๊ฐ์ ๋จ์ด ์์(์ ํ์ด ๊ฐ์กฐ) | ๋ | ๋ | ๋จ๊ณ ๊ณ ์ |
| ์ค ๋ณ๊ฒฝ ํ์(๊ฑฐํฐ ๋ ) | ๋ | ๋ | ๋จ๊ณ ๊ณ ์ |
| ๊ดํธ ์ยท์ง ํ์(Rainbow Pairs ํ์ฅ) | ๋ | ๋ |
file.large_ext_level = 0(์ ํ ์์) / l1 / l2 ยท ํ์ฅ ์์ฒด ์ํ rainbowpair.max_kb(๊ธฐ๋ณธ 0 = ๋จ๊ณ ๋ฐ๋ฆ) |
| ๊ตฌ๋ฌธ ๊ฐ์กฐ | ์ผฌ | ๋(ํ๋ฌธ) |
file.large_syntax_level = 0 / l1 / l2
|
| ์ฌ์์ ๋ค ๋๋๋ฆฌ๊ธฐ(๊ธฐ๋ก ํ์ผ) | ์ ์ฅ ์ ํจ | ์ ์ฅ ์ ํจ | ๋จ๊ณ ๊ณ ์ (editor.undo_persist_mb 4 MB ์ดํ ํ์ผ๋ง) |
| ์ธ๋ถ์์ ๋ฐ๋ ํ์ผ ์๋ ๋ณํฉ | ๊ณ ์น์ง ์์์ผ๋ฉด ๊ทธ๋๋ก ๋ค์ ์ฝ์ ยท ๊ณ ์ณค์ผ๋ฉด ์ด๋ป๊ฒ ํ ์ง ๋ฌผ์ | ๊ฐ์ |
file.external_merge_max_kb(2 MB) |
| ๋์ | ์ํ | ๋์ผ๋ฉด | ์ค์ |
|---|---|---|---|
| ํฐ ์ ํ ์์ ํ์ดํยท๋ถ์ฌ๋ฃ๊ธฐยท์ญ์ | ํ ๋ฒ์ ์ง์ฐ๋ ๊ธ์ 32 MB | ๋จผ์ ์๋ด๊ฐ ๋จ๊ณ , ๊ฐ์ ๋์์ ํ ๋ฒ ๋ ํ๋ฉด ์คํ |
editor.undo_giant_mb(0 = ์ ๋ฌผ์) |
| ๋ค์ค ์ ํ ๊ตฌ๊ฐ ์(Ctrl+D ยท Alt+F3 ยท Ctrl+ํด๋ฆญ ยท Split into Lines ยท ์ด ์ ํ) | 10,000๊ฐ | ๊ฑฐ๊ธฐ์ ๋ฉ์ถ๊ณ ์ํ์ค์ ์๋ด | editor.max_occurrences |
| ํฐ ์ ํ ๋ณต์ฌ/์๋ผ๋ด๊ธฐ(Ctrl+C/X) | 32 MB | ์ฒซ ๋๋ฆ์ ์๋ด, 3์ด ์์ ๋ค์ ๋๋ฅด๋ฉด ์คํ |
editor.copy_confirm_mb(0 = ์ ๋ฌผ์) |
| ๋๋๋ฆฌ๊ธฐ ๋ฉ๋ชจ๋ฆฌ | 64 MB ยท 1,000 ๋จ๊ณ | ์ค๋๋ ๋จ๊ณ๋ถํฐ ๋ฒ๋ฆผ |
editor.undo_budget_mb ยท editor.undo_max
|
| ์ ํ ๋๋๋ฆฌ๊ธฐ(Ctrl+U) | 500 ๋จ๊ณ | ์ค๋๋ ๋จ๊ณ๋ถํฐ ๋ฒ๋ฆผ | โ |
| ํ์ผ ๊ฒ์(Find in Files) | ํ์ผ ํ๋ 1 MB | ๊ทธ ํ์ผ์ ๊ฑด๋๋ | search.max_file_kb |
| ๊ฒฐ๊ณผ ์๋ ํ์น | 200ํ์ฉ | ์คํฌ๋กค ๋์์ ๋ค์ 200ํ ยท ฮฃ = ๊ฑด์ ยท ์ ์ฒด ์กฐํ ๋ฒํผ | grid.max_rows |
| ๊ฒฐ๊ณผ ๋ฉ๋ชจ๋ฆฌ | 1 GB | ํ์น๋ฅผ ๋ฉ์ถ๊ณ ์๋ด | grid.memory_budget_mb |
| ๊ฒฐ๊ณผ ํญ | 8๊ฐ | ๊ณ ์ ํ์ง ์์ ์ค๋๋ ํญ๋ถํฐ ๋ซํ | grid.result_tabs_max |
| ์คํ ์นด๋ | 30์ฅ(ํฅ์ ๋ชจ๋ 8) | ๋๋ ์นด๋๋ถํฐ ์ฌ๋ผ์ง | run.toast_max |
| ๋ณ์ ๊ฐ | 1 MB | ์๋ผ ์ ์ฅ + ์๋ด | vars.max_value_kb |
| ํ๋ก์ ํธ ํด๋ ์ด๊ฑฐ | ํด๋๋น 5,000 | "โฆ ๋ ์์" | project.scan_max |
| ํ์ผ ์ด๊ธฐ ๋ค์ค ์ ํ | 10๊ฐ | ์ด๊ณผ๋ถ์ ์ ์ธ ํ์ | file.open_max |
- ์ ์ฒด ์ ํ(Ctrl+A) ยท ๋๋๊ทธยทShift ์ ํ ยท ๋ค์ค ์บ๋ฟ ยท ์ด ์ ํ โ ์ด๋ค ํฌ๊ธฐ๋ ์ฆ์. ์ ํ์ "์์ยท๋" ๋ ์์น์ผ ๋ฟ์ด๊ณ ํ๋ฉด์ ๋ณด์ด๋ ์ค๋ง ๊ทธ๋ฆฌ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ ์ ํ ์์ ํธ์งํ๋ฉด ์ 32 MB ํ์ธ์ด ํ ๋ฒ ๋ง์ ์ค๋๋ค.
- ์ฐพ๊ธฐ/๋ฐ๊พธ๊ธฐ(์ฐพ๊ธฐ ๋ง๋) โ ์ค ๋จ์๋ก ๊ฒ์ํด 65 MB ํ์ผ์์๋ ๋ฉ๋๋ค.
-
์คํ โ ํธ์ง๊ธฐ์ ์ฃ์ง ์๊ณ ํ์ผ์์ ๋ฐ๋ก ์คํ(File โธ Run SQL Fileโฆ)๋ ์์ต๋๋ค. ๋ค๋ง ์ด ๊ฒฝ๋ก์ CLI
nsql์ ํ์ผ์ ํต์งธ๋ก ์ฝ์ด ๋ฌธ์ฅ์ผ๋ก ๋๋๋ฏ๋ก(์คํธ๋ฆฌ๋ฐ ์์) ๋ฉ๋ชจ๋ฆฌ๋ ํ์ผ ํฌ๊ธฐ์ 2~3๋ฐฐ๊ฐ ์ ์ ํ์ํฉ๋๋ค.
| ์ ํ | ๋ป |
|---|---|
| ๊ทธ๋๋ก ์ด๊ธฐ | L2๋ก ์ฝ๋๋ค(์ ํ๋๋ก ๋ถ๊ฐ ๊ธฐ๋ฅ ๋) |
| ์๋ถ๋ถ๋ง 8 MB | ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก ์๋ถ๋ถ๋ง(file.large_head_mb) |
| ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก ์ด๊ธฐ | ์ค์๋ก ๊ณ ์น์ง ์๊ฒ |
| ์ด์ง ์๊ณ ์คํ | ํธ์ง๊ธฐ์ ์ฃ์ง ์๊ณ ์คํ๋ง |
๋ฌป์ง ์๊ฒ ํ๋ ค๋ฉด nsql config set file.large_ask_mb 0.
์ค์ โธ Performance boost(perf.boost)๋ ๋ชจ๋ ํญ์์ ๋ฏธ๋๋งตยท๊ฐ์กฐยท์ ๋๋ฉ์ด์
๋ฑ์ ๋๋ ์ ์ญ ์ค์์น์ด๊ณ , ์ ๋จ๊ณ๋ ๊ทธ ํ์ผ ํ๋์ ํฌ๊ธฐ๋ก ์ ํด์ง๋๋ค. ๋ ๋ค ์ผ์ ธ ์์ผ๋ฉด ๋ ๋ค ๊บผ์ง ์ํ๊ฐ ๋ฉ๋๋ค.
์ํ์ค ์ค๋ฅธ์ชฝ์ NN MB ๊ฐ ์ด ์ฑ์ ๋ฉ๋ชจ๋ฆฌ ์ด๋(๋งฅ = ํ์ฑ ์ํ ๋ณด๊ธฐ์ "๋ฉ๋ชจ๋ฆฌ" ยท Windows = Private Bytes)์
๋๋ค. ํด๋ฆญํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ์ฐฝ์ด ์ด๋ฆฝ๋๋ค(View โธ Memory Usage ยท ํ๋ ํธ "Memory Usage").
- ์ ๋ง๋ = ์ด๋์ 100 %๋ก ๋ฐ์ดํฐ ์์ญ(์) ๊ณผ ๊ธฐํ(ํ์ ยท ๋ฐํ์ยท๋ผ์ด๋ธ๋ฌ๋ฆฌ) ์ ๋น์จ.
- Data = ๊ฒฐ๊ณผ ๋ฐ์ดํฐ ยท ๊ฒฐ๊ณผ ํ ์คํธ ์บ์ ยท ํธ์ง๊ธฐ ๋ณธ๋ฌธ ยท ๋๋๋ฆฌ๊ธฐ ๊ธฐ๋ก ยท ํธ์ง๊ธฐ ๊ทธ๋ฆฌ๊ธฐ ์บ์ ยท ๋ฉํ(ํ์๊ธฐยท์์ฑ) ยท ์์ฑ ยท ๋ก๊ทธ ยท ์ฐฝ ํ๋ฉด ยท ์์ด์ฝ ์บ์. ๊ฐ์ ์ด๋ฆผ์ ๋๋ค.
- System = ํํ๋ฆฐํธ ยท ์์ฃผ ยท ์ต๋ช (ํยท์คํ) ยท ํ์ผ ๋งคํ(๋ผ์ด๋ธ๋ฌ๋ฆฌยท๊ธ๊ผด) ยท ์์ถ ยท ํ ์ฌ์ฉ ์ค ยท ํ ์ฌ์ (์์ฝยท๊ฐ์).
- ์ฐฝ์ด ์ด๋ ค ์๋ ๋์ 1์ด๋ง๋ค(์ค์
mem.refresh_ms) ๊ฐฑ์ ๋๊ณ , ๋ซ์ผ๋ฉด ์๋ฌด๊ฒ๋ ๋์ง ์์ต๋๋ค. Top ์ค์์น = ๋ค๋ฅธ ์ฐฝ ์์ ๊ณ ์ (์ค์ mem.always_on_top). ์ํ์ค ์ซ์๋ฅผ ๋๋ ค๋ฉดmem.statusbar.