Home
>
DB
>
๐พ[Database] ์ด๋ฏธ ์์ฑ๋ ํ
์ด๋ธ์ ์๋ก์ด ์ปฌ๋ผ ์ถ๊ฐํ๊ธฐ.
Database
Database Optimization
๐พ[Database] ์ด๋ฏธ ์์ฑ๋ ํ
์ด๋ธ์ ์๋ก์ด ์ปฌ๋ผ ์ถ๊ฐํ๊ธฐ.
๐ Intro.
CREATE TABLE search_pages
(
id BIGINT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
episode VARCHAR(100) NOT NULL,
content TEXT NOT NULL,
tags VARCHAR(255) NOT NULL,
FULLTEXT idx_search (title, episode, content, tags) WITH PARSER ngram
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COLLATE = utf8mb4_general_ci;
- โ๏ธ ์์ ๊ฐ์ ํ
์ด๋ธ์ ์ด๋ฏธ ๋ง๋ค์๋ค๊ณ ๊ฐ์ ํ๊ณ ๋๋จธ์ง ๊ธ์ ์ด์ด ๋๊ฐ๊ฒ ์ต๋๋ค. ๐
โ
ALTER TABLE
๋ฌธ ์ฌ์ฉํ๊ธฐ.
- โ๏ธ ์ปฌ๋ผ์ ์๋ก ์ถ๊ฐํ๋ ค๋ฉด
ALTER TABLE
๋ฌธ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
- โ๏ธ ์์:
ALTER TABLE 'table_name'
ADD COLUMN 'column_name' VARCAHR(255) NOT NULL;
- โ๏ธ ์ด๋ฒ์๋ ์ค์ ๋ก ์ ํ
์ด๋ธ์
created_at
์ด๋ผ๋ ์ปฌ๋ผ์ ์ถ๊ฐํด๋ณด๊ฒ ์ต๋๋ค.
- โ๏ธ ์ค์ ์ฝ๋:
ALTER TABLE search_pages
ADD COLUMN created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP;
- โ๏ธ ์ค๋ช
- โ๏ธ 1.
ADD COLUMN
: ํ
์ด๋ธ์ ์๋ก์ด ์ปฌ๋ผ์ ์ถ๊ฐํฉ๋๋ค.
- โ๏ธ 2.
TIMESTAMP DEFAULT CURRENT_TIMESTAMP
: ์ ์ปฌ๋ผ์ ํ์
์ TIMESTAMP๋ก ์ค์ ํ๊ณ ๊ธฐ๋ณธ๊ฐ์ ํ์ฌ ์๊ฐ(CURRENT_TIMESTAMP)์ผ๋ก ์ง์ ํฉ๋๋ค.
โ
์ปฌ๋ผ์ ์์น๋ฅผ ์ง์ ํ๊ณ ์ถ๋ค๋ฉด? ๐โโ๏ธ
- โ๏ธ ์ปฌ๋ผ์ ํ
์ด๋ธ์ ํน์ ์์น์ ์ถ๊ฐํ๋ ค๋ฉด
AFTER
๋๋ FIRST
๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- โ๏ธ ์์:
ALTER TABLE search_pages
ADD COLUMN created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP AFTER tags;
- โ๏ธ ์ด ๊ฒฝ์ฐ,
created_at
์ปฌ๋ผ์ tags
์ปฌ๋ผ ๋ฐ๋ก ๋ค์ ์ถ๊ฐ๋ฉ๋๋ค.