header-img
Info :
SQL 5
SQL :: ANSI JOIN ๊ณผ Oracle JOIN 1
2024.04.19
ํ‰์†Œ mssql ๋ฐ–์— ์ ‘ํ•  ์ผ์ด ์—†์–ด์„œ ์˜ค๋ผํด ๋ฌธ๋ฒ•์€ ์ƒ์†Œํ•œ๋ฐ...์กฐ์ธ์„ ๊ฑธ ๋•Œ (+) ๋กœ ํ‘œ๊ธฐํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์—ˆ๋‹ค.์ด๊ฒŒ ๋ญ”๊ฐ€ ํ•˜๊ณ  ์ฐพ์•„๋ณด๋‹ˆ ์šฐ๋ฆฌ๊ฐ€ ๊ธฐ์กด์— ์‚ฌ์šฉํ•˜๋Š” outer join, inner join, left join ๋“ฑ ์ง€์ •ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ANSI JOIN ์ด๋ผ๊ณ  ํ•˜๊ณ (+)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์กฐ์ธ ์ข…๋ฅ˜๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์€ Oracle JOIN ์ด๋ผ๊ณ  ํ•œ๋‹จ๋‹ค.. ๋“ค์–ด๊ฐ€๊ธฐ์— ์•ž์„œ SQL JOIN์˜ ์ข…๋ฅ˜๋ถ€ํ„ฐ ์•Œ์•„๋ณด์ž. JOIN ์˜ ์ข…๋ฅ˜* INNER JOIN* LEFT OUTER JOIN* RIGHT OUTER JOIN* CROSS JOIN* FULL OUTER JOIN ์ด๋ ‡๊ฒŒ ์žˆ๋Š”๋ฐ ๋ณดํ†ต ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฑดINNER JOIN ๊ณผ LEFT/RIGHT OUTER JOIN ์ •๋„๊ฐ€ ๋˜์‹œ๊ฒ ๋‹ค..
Mybatis :: ๋‹ฌ๋Ÿฌ($)์™€ ์ƒต(#)์˜ ์ฐจ์ด
2024.01.16
ํŒŒ๋ผ๋ฏธํ„ฐ ๋งคํ•‘์„ ํ•˜๋Š” ๋ฐ์— ์‚ฌ์šฉํ•˜๋Š” $์™€ # ๋‘๊ฐ€์ง€์˜ ์ฐจ์ด์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค. # PreparedStatement๋ฅผ ์˜๋ฏธ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ String ํ˜•ํƒœ๋กœ ๋“ค์–ด์™€ ์ž๋™์œผ๋กœ(' ') ํŒŒ๋ผ๋ฏธํ„ฐ ํ˜•ํƒœ๊ฐ€ ๋จ #{user_id} ์˜ ๊ฐ’์ด 'neeon'์ด๋ผ๋ฉด user_id = 'neeon' ํ˜•ํƒœ๊ฐ€ ๋จ ์ฟผ๋ฆฌ ์ฃผ์ž…์„ ์˜ˆ๋ฐฉํ•  ์ˆ˜ ์žˆ์–ด ๋ณด์•ˆ ์ธก๋ฉด์—์„œ ์œ ๋ฆฌ ์ •์ ์ธ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์บ์‹ฑ์„ ํ•ด์„œ ์žฌํ™œ์šฉํ•  ์ˆ˜ ์žˆ์–ด์„œ ํšจ์œจ์ ์ž„ $ Statement๋ฅผ ์˜๋ฏธ ํ•ด๋‹น ์ปฌ๋Ÿผ์˜ ์ž๋ฃŒํ˜•์— ๋งž์ถ”์–ด ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ž๋ฃŒํ˜•์ด ๋ณ€๊ฒฝ๋จ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๋ฐ”๋กœ ์ถœ๋ ฅ๋จ. ์ฟผ๋ฆฌ ์ฃผ์ž…์„ ์˜ˆ๋ฐฉํ•  ์ˆ˜ ์—†์–ด ๋ณด์•ˆ ์ธก๋ฉด์—์„œ ๋ถˆ๋ฆฌํ•˜๋ฏ€๋กœ ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์„ ์ „๋‹ฌํ•  ๋•Œ๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ (SQL Injection) ํ…Œ์ด๋ธ”์ด๋‚˜ ์ปฌ๋Ÿผ๋ช…์„ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ „๋‹ฌํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•จ ์ฐจ์ด์  ..
list_img
MSSQL :: SET STATISITCS
2024.01.05
์ฟผ๋ฆฌ๋ฅผ ์งœ๋‹ค๋ณด๋ฉด ์ฟผ๋ฆฌ ์„ฑ๋Šฅ ๋ถ„์„์ด ํ•„์š”ํ•œ ์ผ€์ด์Šค๊ฐ€ ์ƒ๊ธด๋‹ค. ๊ทธ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด SET STATISTICS. ๊ด€๋ จ๋œ ์…‹ํŒ…์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค. ์‹คํ–‰ ํ†ต๊ณ„ ์ •๋ณด์™€ ๊ด€๋ จ๋œ IO SET STATISTICS IO ON SET STATISTICS IO OFF Statistics ์˜ IO ์˜ต์…˜์„ ์ผœ๋ฉด ํ†ต๊ณ„ ์ •๋ณด๊ฐ€ ํ‘œ์‹œ๋œ๋‹ค. ์ด๋Ÿฐ ์‹์œผ๋กœ message ์ฐฝ์—์„œ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด Table ํ…Œ์ด๋ธ” ์ •๋ณด Scan Count ์‹คํ–‰๋œ ๊ฒ€์ƒ‰ ์ˆ˜ Logical Reads ๋ฆฌ์  ์ฝ๊ธฐ ์ˆ˜. ๋ฐ์ดํ„ฐ ์บ์‹œ์—์„œ ์ฝ์€ ํŽ˜์ด์ง€ ์ˆ˜. Physical Reads ๋ฌผ๋ฆฌ์  ์ฝ๊ธฐ ์ˆ˜. ๋””์Šคํฌ์—์„œ ์ฝ์€ ํŽ˜์ด์ง€ ์ˆ˜. Read-ahead Reads ๋ฏธ๋ฆฌ ์ฝ๊ธฐ ์ˆ˜. ์ฟผ๋ฆฌ์— ๋Œ€ํ•ด ์บ์‹œ์— ๋„ฃ์–ด์ง„ ํŽ˜์ด์ง€ ์ˆ˜ LOB Logical Read..
SQL :: ์ƒ์œ„ N๊ฐœ ๋ฐ์ดํ„ฐ ์ถœ๋ ฅํ•˜๊ธฐ (mssql, oracle, mysql)
2023.09.14
1. MSSQL SELECT TOP 100 name, age, dept from [table๋ช…]; 2. ORACLE SELECT name, age, dept from [table๋ช…] where rownum
list_img
SQL :: ์˜ตํ‹ฐ๋งˆ์ด์ € ์กฐ์ธ(Optimizer Join)
2023.09.13
Nested Loop ์กฐ์ธ - ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋จผ์ € ์ฐพ๊ณ , ๊ทธ ๋‹ค์Œ ํ…Œ์ด๋ธ”์€ ์กฐ์ธํ•˜๋Š” ๋ฐฉ์‹ - ๋จผ์ € ์กฐํšŒ ๋˜๋Š” ํ…Œ์ด๋ธ”์„ Outer Table ์ด๋ผ๊ณ  ํ•˜๊ณ , ๊ทธ ๋‹ค์Œ ์กฐํšŒ๋˜๋Š” ํ…Œ์ด๋ธ”์„ Inner Table. ์ฝ”๋”ฉ ํ˜•ํƒœ๋กœ ์„ค์ •ํ•ด๋ณด์ž๋ฉด... for(i=0; i