sungucklee2062
@sungucklee2062
Students
2,175
Reviews
73
Course Rating
4.8
๊ฒฝ๋ ฅ
CRM/DW ๋ฐ SI ํ๋ก์ ํธ ์ํ
๋ค์ด๋ฒ & ๋ผ์ธ DBํ ๊ทผ๋ฌด
์นด์นด์ค DBํ ๊ทผ๋ฌด
(ํ) ๋น๊ทผ๋ง์ผ ์ธํ๋ผ์ค DBํ ํ์ฅ
์ ์
Real MySQL 8.0 ๊ฐ์ ํ 1๊ถ/2๊ถ
Real MongoDB
Real MariaDB
Real MySQL
MySQL ์ฑ๋ฅ ์ต์ ํ
Courses
Reviews
- Real MySQL Season 1 - Part 2
- Real MySQL Season 1 - Part 1
- Real MySQL Season 1 - Part 1
- Real MySQL Season 1 - Part 2
Posts
Q&A
๋ณตํฉ index ๋ฌธ์
์๋ ํ์ธ์. ํ์ด์ง์์ user_id ์ปฌ๋ผ ๋ฟ๋ง ์๋๋ผ id ์ปฌ๋ผ์ ์ถ๊ฐํด์ ๋ณตํฉ ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๋ ๊ฒ์, ์ค๋ณต๋ user_id๋ก ์ธํด์ ์ค๊ฐ์ ๋ ์ฝ๋๊ฐ ์งค๋ฆฌ๋ ๊ฒฝ์ฐ๋ฅผ ํผํ๊ธฐ ์ํด์ id ์ปฌ๋ผ์ ๋ง์ง๋ง์ ์ถ๊ฐํ ๊ฒ์ ๋๋ค. ์๋์ ๊ฐ์ ๊ฒฝ์ฐ๋ฅผ ๊ณ ๋ คํด๋ณด์๋ฉด, ์ค๊ฐ์ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ผ์ง๋ ํ์์ด ์๊ธธ ์ ์๋ค๋ ๊ฒ์ ์์ํ์ค ์ ์์ ๊ฑฐ์์. (์ฒซ๋ฒ์งธ ํ์ด์ง์ ๋ง์ง๋ง user_id='esther' ์ผ๋, ๋ค์ ํ์ด์ง๋ user_id>'esther' ์กฐ๊ฑด์ผ๋ก ๊ฒ์ํด์ผ ํ๋๋ฐ, ์ด๋ id = 11 ์ธ ๋ ์ฝ๋๋ ๊ฑด๋ ๋ธ ์ํ์ด ์๋๊ฑฐ์ฃ .user_id id ------------- esther 9 esther 10 esther 11 matt 12 ------------- ๋ง์ฝ user_id ๊ฐ ์ค๋ณต์ด ์๋ค๋ฉด (UNIQUE ํ๋ค๋ฉด), ๊ตณ์ด id ์ปฌ๋ผ์ ๋ง์ง๋ง์ ์ถ๊ฐํ์ง ์๊ณ user_id ์ปฌ๋ผ๋ง์ผ๋ก ์ธ๋ฑ์ค๋ฅผ ์์ฑํด๋ ๋ ๋ฏ ํฉ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 57
Q&A
๋ ์ฝ๋ ์์ ์ ์ ์ฅ๊ณต๊ฐ์ด ๋ถ์กฑํ๋ฉด
์๋ ํ์ธ์. 1์ฐจ์ ์ผ๋ก๋ ํ์ด์ง์ ๋ฐ์ดํฐ๋ฅผ ์ปดํฉ์ ํด์ ๋น ๊ณต๊ฐ์ ๋ง๋ค์ด๋ณด๊ณ ,๊ทธ๋๋ ๊ณต๊ฐ์ด ๋ถ์กฑํ๋ฉด ํ์ด์ง๋ฅผ ์คํ๋ฆฟ(split)ํ๊ฒ ๋ฉ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 53
Q&A
ep.12 count(*) ์ง๋ฌธ
๊ฒฐ๊ณผ์ ์ผ๋ก SELECT COUNT(*) ๋ฅผ ์ฌ์ฉํ๋ฉด, MySQL ์๋ฒ๋ ๋ด๋ถ์ ์ผ๋ก SELECT COUNT(1) ๊ณผ ๊ฐ์ ์์๊ฐ์ผ๋ก ์นด์ดํธ๋ง ํ๋๋ก ๋ฐ๊ฟ์ค๋๋ค. ์ฆ ์ฑ๋ฅ์ ์ธ ์ฐจ์ด๋ ์๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค. ๋ค๋ง, SELECT COUNT(*) ๋ฅผ ๊ถ์ฅ๋๋ฆฐ ์ด์ ๋ ๊ฐ๋ ์ฑ์ ์์ต๋๋ค. SELECT COUNT(1) ๋๋ SELECT SUM(1) ๋๋ SELECT COUNT(column1) ๋ฑ๊ณผ ๊ฐ์ด ๋ค์ํ ํํ์์ด ์ฌ์ฉ๋๋ฉด ์ฒ์ ์์ฑ์์ ์ดํ ์ฝ๋๋ฅผ ์ฝ๋ ์ฌ๋์ ์ฝ๋ ๊ฐ๋ ์ฑ์ ํผ๋์ด ์๊ธธ ์ ์์ด์,, COUNT() ํจ์๋ด์ ์ฌ์ฉ๋๋ ๊ฐ์ ๊ทธ๋ฅ * ๋ก๋ง ํต์ผํด์ ์ฌ์ฉํ๋ ๊ฒ์ ๋ง์๋๋ ธ๋ ๊ฒ์ ๋๋ค. ๊ด๋ จํด์ ์์นซ ์ค์ํด์ ์ฑ๋ฅ์ ๋ฌธ์ ๊ฐ๋ ์๋ ์๋ ์ผ์ด์ค๋ ์ด๋ฏธ ๋์์ ๊ฐ์์์ ์ธ๊ธ๋๋ฆฌ๊ณ ์์ผ๋, ๊ฐ์ด ์ฐธ๊ณ ํด์ฃผ์๋ฉด ์ข์ ๋ฏ ํด์. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 36
Q&A
๊ฐ์
์๋ ํ์ธ์. Real MySQL ๊ฐ์์ ๊ด์ฌ๊ฐ์ ธ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ํ๊น๊ฒ๋, ์์ง ํด๋น ์ด์๊ฐ ํด๊ฒฐ๋์ง ์์์ ์ฌ์ ํ ๊ณต๊ฐ๊ฐ ์ด๋ ค์ด ์ํฉ์ ๋๋ค. ์ด ๋ถ๋ถ์ ์ ๊ฐ ๊ฒฐ์ ํ ์ ์๋ ๋ถ๋ถ์ด ์๋์๊ธฐ์, ์์ ๋ต๋ณ ๊ธ์์ ์๋ด๋๋ ธ๋ ๋ด์ฉ์์ ์ธ์ ๊น์ง ์คํํด๋๋ฆฌ๊ฒ ๋ค๋ ์๋ด๋ฅผ ๋๋ฆฌ์ง ์์๋ ๊ฒ์ ๋๋ค. ์ต๋ํ ๋์์ ๋๋ฆฌ์ง ๋ชปํ ๋ถ๋ถ ๋ค์ ํ๋ฒ ์ฃ์ก์ค๋ฌ์ด ๋ง์์ ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 1
- 53
Q&A
ORDER BY๊ฐ ํ์ํ ์ด์
๊น์ํ๋ ์๋ ํ์ธ์. ๋ง์ฝ ์ฟผ๋ฆฌ๊ฐ ix_userid_id ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ค๋ฉด, ๋ง์ํ์ ๊ฒ์ฒ๋ผ id ์ปฌ๋ผ์ผ๋ก ์ ๋ ฌ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ ๊ฒ์ด๋ผ๊ณ ์์ํ ์ ์์ต๋๋ค. ์ฆ ์ด ๊ฒฝ์ฐ์๋ ORDER BY id ๋ฅผ ๋ช ์ํ์ง ์์๋ ์ ๋ ฌ ํจ๊ณผ๋ฅผ ์ป์ ์ ์๋๊ฑฐ์ฃ .๊ทธ๋ฐ๋ฐ, ์ด ์ฟผ๋ฆฌ๊ฐ ix_userid_id ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ์๋, (์ฟผ๋ฆฌ์ ORDER BY id ๊ฐ ๋ช ์๋์ง ์์๋ค๋ฉด) ๊ฒฐ๊ณผ๊ฐ id ์ปฌ๋ผ ๊ฐ์ผ๋ก ์ ๋ ฌ๋์ง ์์ ์๋ ์์ด์. ๊ทธ๋ฐ๋ฐ ํน์ ํํธ๋ฅผ ์ง์ ํ์ง ์๋ ์ด์ ์คํ ๊ณํ์ ํญ์ ์ ๋์ ์ด๋ผ๊ณ ๊ฐ์ ํด์ผ ํฉ๋๋ค. ๊ทธ๋์ ์ ๋ ฌ๋ ๊ฒฐ๊ณผ๊ฐ ํ์ํ๋ค๋ฉด, ORDER BY ์ ์ ๋ช ์ํ๋ ๊ฒ์ด ๊ถ์ฅ๋ฉ๋๋ค.
- 0
- 2
- 151
Q&A
Mysql table avg_row_length
์๋ ํ์ธ์. ์๋ ์์ ์์์ ๊ฐ์ด, MySQL ์๋ฒ์ avg_row_legnth ๋ data_length / rows ๊ฐ์ ๊ฒฐ๊ณผ์ผ๋ฟ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ data_length ๊ฐ์ ํ ์ด๋ธ์ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋ ํ์ด์ง์ ๊ฐ์ * ํ์ด์งํฌ๊ธฐ(16KB) ์ ๋๋ค.๋ง์ง๋ง์ผ๋ก ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋ ํ์ด์ง์ ๊ฐ์ ์๋ Off-page ๋๋ Inline์ผ๋ก ์ ์ฅ๋ TEXT/BLOB ์ปฌ๋ผ๋ค๋ ๋ชจ๋ ํฌํจ๋ฉ๋๋ค.CREATE TABLE table_stats (id int primary key, fd text); INSERT INTO table_stats VALUES (1, REPEAT('ํ๊ธ',10000)); SELECT id, length(fd) FROM table_stats; +----+------------+ | id | length(fd) | +----+------------+ | 1 | 60000 | +----+------------+ ANALYZE TABLE table_stats; +------------------+---------+----------+----------+ | Table | Op | Msg_type | Msg_text | +------------------+---------+----------+----------+ | matt.table_stats | analyze | status | OK | +------------------+---------+----------+----------+ SHOW TABLE STATUS LIKE 'table_stats' \G *************************** 1. row *************************** Name: table_stats Engine: InnoDB Version: 10 Row_format: Dynamic Rows: 1 Avg_row_length: 81920 Data_length: 81920 Max_data_length: 0 Index_length: 0 Data_free: 0 Auto_increment: NULL Create_time: 2025-02-02 07:06:31 Update_time: 2025-02-02 07:06:59 Check_time: NULL Collation: utf8mb4_0900_ai_ci Checksum: NULL Create_options: Comment: 1 row in set (0.00 sec) ์ค๋ช ์ด ๊ธธ์๋๋ฐ, ๊ฒฐ๋ก ์ TEXT/LONGTEXT ํ์ ์ปฌ๋ผ๋ ๋ชจ๋ avg_row_length ์ ์ํฅ์ ๋ฏธ์น๊ฒ ๋ฉ๋๋ค.
- 0
- 1
- 128
Q&A
Real MySQL ์์ฆ1 part 2 ์ํผ์๋ 16์ ์ธ๋ฑ์ค๊ฐ null์ธ ์ปฌ๋ผ์ ํฌํจํ๋ค๋ ๊ฒ์ ๋ํ ์ง๋ฌธ
์๋ ํ์ธ์. NULL์ด ์ ์ฅ๋ ์ ์๋ ์ปฌ๋ผ์ ์ธ๋ฑ์ค๊ฐ ์๋ค ํ๋๋ผ๋, MySQL ์๋ฒ์ ์ธ๋ฑ์ค๋ (Oracle DBMS์ ๋ ๋ค๋ฅด๊ฒ) NULL ๊ฐ์ ์ธ๋ฑ์ค์ ํฌํจํ๊ธฐ ๋๋ฌธ์, ์ธ๋ฑ์ค๋ง ์ฝ์ด๋ ์ ํํ ๋ ์ฝ๋ ๊ฑด์๋ฅผ ํ์ธํ ์ ์๋ค๋ ์๋ฏธ์ ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 1
- 138
Q&A
1๊ฐ. delete marking๋ ๋ฐ์ดํฐ์ ์ ๋ฆฌ ์ฃผ๊ธฐ๋ ์ด๋ ์ ๋์ธ๊ฐ์?
์๋ ํ์ธ์. PostgreSQL ์๋ฒ์๋ ๋ฌ๋ฆฌ, MySQL ์๋ฒ๋ ๋ฐ์ดํฐ ํ์ด์ง ๊ณต๊ฐ์ด ๋ถ์กฑํด์ง๋ ์์ ์ ํ์ด์ง ๋จ์๋ก Record Reorganize ์์ ์ ํ๊ฒ ๋ฉ๋๋ค. ๊ทธ๋์ ์ด ์์ ์ ๋ช ์์ ์ผ๋ก ์คํํ ์ ์๋ ๋ฐฉ๋ฒ์ optimize table ๋ช ๋ น๋ฐ์ ์๋๋ฐ,,, ์ด ์์ ์ ๊ตณ์ด ๋ช ์์ ์ผ๋ก ํ์ค ํ์๋ ๊ทธ๋ ๊ฒ ๋ง์ง ์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 208
Q&A
MySQL Where์ ๋ด ์กฐ๊ฑด์ ์์
์๋ ํ์ธ์. ์ค์ ์คํ ๊ณํ์ ์๋ฆฝํ๋๋ฐ ์์ด์๋, WHERE ์กฐ๊ฑด์ ์ ๋์ด๋ ์กฐ๊ฑด์ ์์๋ ์ํฅ์ ๋ฏธ์น์ง ์์ต๋๋ค.์ฟผ๋ฆฌ์ ์ฑ๋ฅ๊ณผ 100% ๋ฌด๊ดํ๋ค๊ณ ๋ง์๋๋ฆฌ๊ธด ์ด๋ ต์ง๋ง, MySQL ์๋ฒ๋ฅผ ๊ณต๋ถํ์๋ ์์ค์์๋ ์ํฅ์ด ์๋ค๊ณ ์๊ณ ๊ณ์ ๋ ๋ฌด๋ฆฌ๋ ์์ด ๋ณด์ ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 342
Q&A
unique index๊ฐ ๊ฑธ๋ฆฐ ์ํฉ์์ s-lock, x-lock ์ง๋ฌธ
์๋ ํ์ธ์ unique index๋ s-lock์ ๊ผญ ํ์๋ก ํ๋ค๋ฉด,delete๊ฐ ์ ํ๋์ง ์๋ ์ํฉ์์๋ deadlock์ด ๋ฐ์ํด์ผ๋๋๊ฑฐ ์๋๊ฐ? ์ถ์ต๋๋ค.๋ต, ๋ง์ต๋๋ค. ์ด ์์ ์์ ์ฒซ๋ฒ์งธ ํธ๋์ญ์ ์ด DELETE๋ฅผ ์คํํ๋ ๊ฑด, ๋๋ฒ์งธ์ ์ธ๋ฒ์งธ ํธ๋์ญ์ ์ด ๋์์ ์์๋๋ฉด์ ๋๋ฒ์งธ์ ์ธ๋ฒ์งธ ํธ๋์ญ์ ์ด ์์ ์ด ๋ฑ ๋ง์ ๋จ์ด์ง๋๋ก ํด์ฃผ๋ ํธ๋ฆฌ๊ฑฐ ์ญํ ์ ํด์ฃผ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋์ ์ค์ Deadlock์ ์ฒซ๋ฒ์งธ ํธ๋์ญ์ ์์ COMMIT์ ์คํํ๋ ์์ ์ ๋ฐ์ํ๊ฒ ๋๋ ๊ฒ์ ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 454






