๐น 1. ์ธ๋ฑ์ค (Indexes)
1.1 ์ธ๋ฑ์ค๋?
- ์ค๋ช
: ํ
์ด๋ธ์์ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ๊ฒ์ํ ์ ์๋๋ก ๋์์ฃผ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ.
- ์ข
๋ฅ:
- ๋จ์ผ ์ธ๋ฑ์ค: ํ๋์ ์ปฌ๋ผ์ ๋ํ ์ธ๋ฑ์ค.
- ๋ณตํฉ ์ธ๋ฑ์ค: ์ฌ๋ฌ ์ปฌ๋ผ์ ๋ฌถ์ ์ธ๋ฑ์ค.
- ์ ๋ํฌ ์ธ๋ฑ์ค: ๊ฐ์ด ์ค๋ณต๋ ์ ์๋ ์ธ๋ฑ์ค.
- ์ ์ฒด ํ
์คํธ ์ธ๋ฑ์ค: ํ
์คํธ ๊ฒ์์ ์ต์ ํํ๋ ์ธ๋ฑ์ค.
1.2 ์ธ๋ฑ์ค ์ฌ์ฉ ์์
CREATE INDEX idx_name ON table_name (column_name); -- ์ธ๋ฑ์ค ์์ฑ
SHOW INDEX FROM table_name -- ์ธ๋ฑ์ค ์กฐํ
DROP INDEX IDX_NAME ON ACCOUNT -- ์ธ๋ฑ์ค ์ญ์
๐น 2. ํํฐ์
๋ (Partitioning)
2.1 ํํฐ์
๋์ด๋?
- ์ค๋ช
: ๋์ฉ๋ ํ
์ด๋ธ์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋๋์ด ๋ฐ์ดํฐ ๊ด๋ฆฌ๋ฅผ ์ฝ๊ฒ ํ๋ ๊ธฐ๋ฒ.
- ์ฅ์ : ์ฑ๋ฅ ํฅ์, ๊ด๋ฆฌ ์ฉ์ด์ฑ.
- ์ข
๋ฅ:
- ๋ฒ์ ํํฐ์
๋: ํน์ ๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฆฌ.
- ๋ฆฌ์คํธ ํํฐ์
๋: ์ ํด์ง ๊ฐ์ ๋ฐ๋ผ ๋ถ๋ฆฌ.
- ํด์ ํํฐ์
๋: ๋ฐ์ดํฐ๊ฐ ๊ณ ๋ฅด๊ฒ ๋ถ๋ฐฐ๋๋๋ก ํด์ ํจ์ ์ฌ์ฉ.
- ํค ํํฐ์
๋: ์๋์ผ๋ก ๋ถ๋ฐฐ๋๋ ๋ฐฉ์.
2.2 ํํฐ์
๋ ์ฌ์ฉ ์์
CREATE TABLE table_name (
id INT,
name VARCHAR(100)
)
PARTITION BY RANGE (id) (
PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN (20)
);
๐น 3. ํธ๋ฆฌ๊ฑฐ (Triggers)
3.1 ํธ๋ฆฌ๊ฑฐ๋?
- ์ค๋ช
: ํน์ ์ด๋ฒคํธ(INSERT, UPDATE, DELETE)์ ์๋์ผ๋ก ์คํ๋๋ SQL ๋ช
๋ น์ด.
- ์ฌ์ฉ ์์:
- BEFORE: ์ด๋ฒคํธ ๋ฐ์ ์ ์ ์คํ.
- AFTER: ์ด๋ฒคํธ ๋ฐ์ ํ์ ์คํ.