๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

MySQL6

[MySQL] COUNT(*) vs EXISTS ์„ฑ๋Šฅ ๊ฐœ์„  ์ฐจ์ด ๋จผ์ €, ๋ฐ์ดํ„ฐ ์กด์žฌ ์—ฌ๋ถ€๋ฅผ ์ฒดํฌํ•˜๊ธฐ ์œ„ํ•ด COUNT(*) ํ˜น์€ COUNT(1)์ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.๋‘˜์€ ๊ฐ™์€ ์˜๋ฏธ์ด๊ณ , ๊ฐœ๋ฐœ์ž๋งˆ๋‹ค์˜ ์Šคํƒ€์ผ ์ฐจ์ด์ด๋‹ค. COUNT(*)๋กœ ์กด์žฌ ์—ฌ๋ถ€๋ฅผ ์ฒดํฌํ•˜๊ฑฐ๋‚˜ COUNT(1)๋กœ ์ฟผ๋ฆฌ๋ฅผ ์งœ์„œ์ฒดํฌํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ, ๊ฐ€๋…์„ฑ์„ ์œ„ํ•ด COUNT(*) ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค. COUNT(!)์˜ ์˜๋ฏธ๋ฅผ ๋ชฐ๋ผ ๊ฒ€์ƒ‰ํ•ด ๋ณด๊ฑฐ๋‚˜, ์„ค๋ช…ํ•ด์•ผ ํ•˜๋Š” ๋ถˆํ•„์š”ํ•œ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ ๊ฐ€๊ธ‰์  ๊ณต์šฉํ™”๋œ COUNT(*)๋กœ ๋ฐ์ดํ„ฐ ์กด์žฌ ์—ฌ๋ถ€๋ฅผ ์ฒดํฌํ•˜๊ธธ ๋ฐ”๋ž€๋‹ค. ์ž, ์ด์ œ ๊ทธ๋Ÿฌ๋ฉด์กด์žฌ ์—ฌ๋ถ€๋ฅผ ์ฒดํฌํ•˜๊ธฐ ์œ„ํ•ด COUNT(*)๋ฅผ ์“ธ ๊ฒƒ ์ธ๊ฐ€, EXISTS๋ฅผ ์“ธ ๊ฒƒ์ธ๊ฐ€ ์ฐจ์ด๊ฐ€ ๊ถ๊ธˆํ•  ๊ฒƒ์ด๋‹ค.๊ฒฐ๋ก ์€,  ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์„ ๋•Œ ํ›จ์”ฌ EXISTS์˜ ์†๋„๊ฐ€ ๋” ๋น ๋ฅด๋‹ค.COUNT๋Š” ๋ชจ๋“  ํ–‰์„ ๊ฒ€์‚ฌํ•˜๊ณ .. 2025. 3. 8.
51ํšŒ SQLD 4์ผ ๋ฒผ๋ฝ์น˜๊ธฐ ํ•ฉ๊ฒฉ ํ›„๊ธฐ 2023/11/18 51ํšŒ SQLD ์ž๊ฒฉ์ฆ์„ 4์ผ ๋ฒผ๋ฝ์น˜๊ธฐ๋กœ ํ•ฉ๊ฒฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณต๋ถ€๋ฐฉ๋ฒ•๊ณผ ํ•ฉ๊ฒฉํ›„๊ธฐ๋ฅผ ๊ณต์œ ํ•  ๊นŒ ํ•ด์„œ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋จผ์ €, ์ €๋Š” ์ „๊ณต์ž์ด๊ธด ํ•œ๋ฐ DB ๋ฐฐ์šด ์ง€ 8๋…„ ์ „์ด์—ˆ๊ณ , ์ „๊ณต์ˆ˜์—… ๋•Œ ์ œ๋Œ€๋กœ ์ˆ˜์—…์„ ๋“ฃ์ง€ ์•Š์•„ PK, FK๋งŒ ๋ญ”์ง€ ์•Œ๊ณ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ๋…์„ ์ž˜ ๋ชจ๋ฅด๋Š” ์ƒํƒœ๋กœ ์ผ๋‹จ ์‹œํ—˜์ ‘์ˆ˜๋ฅผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์›๋ž˜, ๋А๊ธ‹ํ•˜๊ฒŒ 3์ฃผ ๊ณต๋ถ€ํ•˜๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ๋„ˆ๋ฌด ๊ฒŒ์„๋Ÿฌ์„œ ๊ฒฐ๊ตญ 4์ผ ์ „ ๊ธ‰ ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋จผ์ € ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋…ธ๋žญ์ด ์ฑ…์„ ๋‹น๊ทผ์œผ๋กœ ์‹ธ๊ฒŒ ๊ตฌ๋งคํ•˜์˜€์Šต๋‹ˆ๋‹ค. (์ง€๊ธˆ์€ ๊ฐœ์ •์ด ์ข€ ๋ฐ”๋€Œ์—ˆ๋‹ค๊ณ ๋Š” ํ•˜๋‚˜ ๊ทธ๋ž˜๋„ ์—ฌ๊ธฐ์„œ ๊ฑฐ์˜ ๋‹ค ๋‚˜์˜ค๋Š” ๋“ฏํ•ฉ๋‹ˆ๋‹ค.) 1์ผ ์ฐจ(11/14 ํ™”) DATA ON-AIR ์‚ฌ์ดํŠธ์—์„œ SQLD ์‹œํ—˜๋ฒ”์œ„์ธ 28. ์ ˆ์ฐจํ˜• SQL๊นŒ์ง€ ์ญ‰ ์ฝ์œผ๋ฉฐ ์•„๋ž˜ ์š”์•ฝ์ง‘๊ณผ ๋™์‹œ์— ์ฝ์œผ๋ฉฐ ๊ฐœ๋…์ดํ•ด๋ฅผ ๋ชฉํ‘œ๋กœ ํ•˜์˜€์Šต๋‹ˆ.. 2024. 6. 3.
[MySQL] DECIMAL, FLOAT, DOUBLE, BIT ์†Œ์ˆ˜์  ํ‘œํ˜„ ๊ณ ์ • ์†Œ์ˆ˜์  ํƒ€์ž…(fixed-point types) MySQL์—์„œ ๊ณ ์ • ์†Œ์ˆ˜์  ํƒ€์ž…์ธ DECIMAL์€ ์‹ค์ˆ˜์˜ ๊ฐ’์„ ์ •ํ™•ํ•˜๊ฒŒ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. DECIMAL์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ณ ์ • ์†Œ์ˆ˜์  ๋ฐฉ์‹์€ ์‹ค์ˆ˜๋ฅผ ํ‘œํ˜„ํ•  ๋•Œ ์†Œ์ˆ˜๋ถ€์˜ ์ž๋ฆฟ์ˆ˜๋ฅผ ๊ณ ์ •ํ•˜์—ฌ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์†Œ์ˆ˜๋ถ€์˜ ์ž๋ฆฟ์ˆ˜๋ฅผ ๋ฏธ๋ฆฌ ์ •ํ•ด ๋†“๊ณ , ๊ณ ์ •๋œ ์ž๋ฆฟ์ˆ˜๋กœ๋งŒ ์†Œ์ˆ˜ ๋ถ€๋ถ„์„ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. MySQL์—์„œ DECIMAL ํƒ€์ž…์€ NUMERIC์„ ๊ตฌํ˜„ํ•˜์—ฌ ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ DECIMAL ๋Œ€์‹  NUMERIC์„ ์‚ฌ์šฉํ•ด๋„ ๋˜‘๊ฐ™์ด ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ๋ฒ• DECIMAL(M,D) M์€ ์†Œ์ˆ˜ ๋ถ€๋ถ„์„ ํฌํ•จํ•œ ์‹ค์ˆ˜์˜ ์ด ์ž๋ฆฟ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ์ตœ๋Œ“๊ฐ’์€ 65์ž…๋‹ˆ๋‹ค. D๋Š” ์†Œ์ˆ˜ ๋ถ€๋ถ„์˜ ์ž๋ฆฟ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉฐ, D๊ฐ€ 0์ด๋ฉด ์†Œ์ˆ˜ ๋ถ€๋ถ„์„ ๊ฐ€์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ์˜ˆ์ œ๋Š” AL.. 2024. 2. 10.
[MySQL] AUTO INCREMENT vs UUID ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•  ๋•Œ PK ์„ค์ •์— ๋Œ€ํ•ด Auto Increment๋ฅผ ์‚ฌ์šฉํ•  ์ง€ , uuid๋ฅผ ์‚ฌ์šฉํ• ์ง€ ๊ณ ๋ฏผ์ด ๋œ๋‹ค. ๋‘ ์ฐจ์ด์ ์„ ๋ช…ํ™•ํžˆ ํŒŒ์•…ํ•˜์—ฌ PK๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ค์ •ํ•˜์ž. AUTO INCREMENT auto increment๋Š” ํ‚ค๋ฅผ ์˜ˆ์ธกํ•˜๊ธฐ ์‰ฌ์›Œ ๋ณด์•ˆ์— ์ทจ์•ฝํ•˜๋‹ค. intํƒ€์ž… ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์— ์ ํ•ฉํ•˜์ง€ ์•Š๋‹ค. ( ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์žˆ๋Š” ์ƒํ™ฉ์—์„œ insert๋ฅผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ž. ๋ณ„๋‹ค๋ฅธ ๋™๊ธฐํ™”๊ฐ€ ๋˜์–ด์žˆ์ง€ ์•Š๋‹ค๋ฉด, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค A ๊ฐ€ insert๋ฅผ ๋ฐ›์œผ๋ฉด 1,2,3,4,5,6์œผ๋กœ ํ‚ค๊ฐ€ ์ฆ๊ฐ€ํ• ๊ฑฐ๊ณ , ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค B ๋˜ํ•œ insert ์ฟผ๋ฆฌ๋ฅผ ๋ฐ›์œผ๋ฉด 1,2,3,4,5,6์œผ๋กœ ํ‚ค๊ฐ€ ์ฆ๊ฐ€ํ• ๊ฒƒ์ด๋‹ค. ์ฆ‰ Duplicate Key๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ๊ฒƒ์ด๋‹ค. ) uuid๋ณด๋‹ค ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋œ ์ฐจ์ง€ํ•˜๊ณ ,.. 2024. 2. 10.
[MySQL] tinyint, smallint, int, bigint ๋น„๊ต ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ int ํƒ€์ž…๋ณ„๋กœ ํŠน์ง•์ด ๋‹ค๋ฅด๋‹ค. tinyint 2024. 2. 10.
[MySQL] DATE, DATETIME, TIMESTAMP, TIME ์ฐจ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(mysql)์—์„œ ๋‚ ์งœ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ํƒ€์ž…์œผ๋กœ date, datetime, timestamp, time ํƒ€์ž…์ด ์žˆ๋Š”๋ฐ, ๊ฐ๊ฐ์˜ ํƒ€์ž…๋ณ„ ์ฐจ์ด์ ์ด ์žˆ๋‹ค.๊ฐœ๋ฐœํ•  ๋•Œ ์ฐจ์ด์ ์„ ๊ณ ๋ คํ•ด์„œ ํƒ€์ž…์„ ์ง€์ •ํ•˜๋„๋ก ํ•œ๋‹ค. TIME- 3 byte- hh:mm:ss(์‹œ:๋ถ„:์ดˆ)- '-838:59:59' ~ '838:59:59' DATE- 3 byte- YYYY-MM-DD(์—ฐ-์›”-์ผ)- '1000-01-01' ~ '9999-12-31' DATETIME- 8 byte- ๋ฌธ์žํ˜•- YYYY-MM-DD hh:mm:ss(์—ฐ-์›”-์ผ ์‹œ:๋ถ„:์ดˆ)- '1000-01-01 00:00:00.00000' ~ '9999-12-31 23:59:59.00000'- ์ง์ ‘ ๋‚ ์งœ์™€ ์‹œ๊ฐ„์„ ์ž…๋ ฅํ•œ ๋ฐ์ดํ„ฐ ํ˜•์‹ TIMESTAMP- 4 byte- ์ˆซ์žํ˜•- .. 2024. 2. 10.