๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ—‚.๋Œ€์™ธํ™œ๋™/๐Ÿ“.์นด์นด์˜คํด๋ผ์šฐ๋“œ์Šค์ฟจ

[DB] ์ธ๋ฑ์Šค( Index )

by ๐Ÿ’พ๊ณ ๊ตฌ๋งˆ๋ง›ํƒ•๋จน๊ณ ์‹ถ๋‹ค 2024. 1. 3.
728x90

๐Ÿ“‘ ์ธ๋ฑ์Šค( Index ) 

๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“  ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์ด๋‹ค. 

๋น ๋ฅธ ํƒ์ƒ‰ ์†๋„๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค.

 

๐Ÿ“‘ ์ธ๋ฑ์Šค ์ƒ์„ฑ ๊ณ ๋ ค์‚ฌํ•ญ

WHERE์ ˆ์— ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์†์„ฑ

์กฐ์ธ์ด ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์†์„ฑ

๋‹จ์ผ ํ…Œ์ด๋ธ”์— ์ธ๋ฑ์Šค ๋งŽ์œผ๋ฉด ์†๋„๊ฐ€ ๋Š๋ ค์ง„๋‹ค.  (3~4๊ฐœ ๊ถŒ์žฅ)

 

๐Ÿ“‘ ์ธ๋ฑ์Šค์˜ ์ข…๋ฅ˜

์ž๋™์ธ๋ฑ์Šค: ๊ธฐ๋ณธํ‚ค(PK), UNIQUE ๊ทœ์น™์— ์˜ํ•ด ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” ์ธ๋ฑ์Šค์ด๋‹ค.

์ˆ˜๋™์ธ๋ฑ์Šค: CREATE INDEX ๋ช…๋ น์œผ๋กœ ์ƒ์„ฑ๋œ ์ธ๋ฑ์Šค์ด๋‹ค.

 

๐Ÿ‘‰ ํ…Œ์ด๋ธ”์˜ ํฌ๊ธฐ๊ฐ€ ์ž‘๊ฑฐ๋‚˜, ์ž์ฃผ ๊ฐฑ์‹ ๋  ๋•Œ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ง€์•Š๋Š”๋‹ค.

 

๐Ÿ“‘ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•ด ํƒ์ƒ‰

์ธ๋ฑ์Šค ์„ค์ • ์ „
์ธ๋ฑ์Šค ์„ค์ • ํ›„

์œ„์˜ ๊ฒฐ๊ณผ๋Š” ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์ „ ๊ฒฐ๊ณผ์ด๊ณ , ๋ฐ‘์˜ ๊ฒฐ๊ณผ๊ฐ€ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•œ ํƒ์ƒ‰ ๊ฒฐ๊ณผ์ด๋‹ค.

COST๋ฅผ ๋ณด๋ฉด 2์”ฉ ๋‚ด๋ ค๊ฐ”๋‹ค.

 

๐Ÿ‘‰ ์ธ๋ฑ์Šค์˜ ์‚ฌ์šฉํ•  ์‹œ ํƒ์ƒ‰์˜ ํšจ์œจ์„ ๋น„๊ตํ•ด๋ณด์•˜์„ ๋•Œ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์œ ์˜๋ฏธํ•œ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

SELECT
    TABLE_NAME,
    INDEX_NAME,
    COLUMN_NAME
FROM ALL_IND_COLUMNS
WHERE TABLE_NAME = 'EMP';

CREATE TABLE members (
    member_id NUMBER,
    first_name VARCHAR2(100) NOT NULL,
    last_name VARCHAR2(100) NOT NULL,
    gender CHAR(1) NOT NULL,
    email VARCHAR2(225) NOT NULL,
    dob DATE,
    PRIMARY KEY(member_id)
);

-- ์ฃผ์„ ํ•ด์ œ ํ›„ ์‹คํ–‰
-- @C:\Users\user\Downloads\member_data_1000\member_data_1000.sql

--๊ธฐ๋ณธ๊ฒ€์ƒ‰ ํ…Œ์ŠคํŠธ
--last_name์ด 'Harse'์ธ์ง€ 1000๋ฒˆ ์กฐํšŒ
SELECT * FROM members
WHERE last_name = 'Harse';

-- ์ธ๋ฑ์Šค๋ฅผ ํŠน์ • ์—ด์— ๋งŒ๋“ค๊ธฐ
CREATE INDEX members_last_name_i
ON members(last_name);

--์ธ๋ฑ์Šคํ™•์ธ
SELECT
    TABLE_NAME,
    INDEX_NAME,
    COLUMN_NAME
FROM ALL_IND_COLUMNS
WHERE TABLE_NAME = 'MEMBERS'; --ํ…Œ์ด๋ธ”๋ช…์€ ๋Œ€๋ฌธ์ž!

DROP INDEX members_last_name_i;

์ฐธ๊ณ ์ž๋ฃŒ: https://blog.naver.com/drv98/221662834321

 

728x90