๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
BackEnd๐ŸŒฑ/DB & SQL

MySQL์—์„œ VARCHAR์™€ TEXT์˜ ์ฐจ์ด

by ์•ˆ์ฃผํ˜• 2023. 9. 17.

๊ฐœ์š”

MySQL์˜ ๋ฌธ์ž์—ด๋ฐ์ดํ„ฐ ํƒ€์ž… ์ค‘ VARCHAR์™€ TEXT๋Š” ์ƒ๋‹นํžˆ ํ”ํžˆ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋™์•ˆ VARCHAR๋Š” 255byte๋งŒ ์ง€์›ํ–ˆ์ง€๋งŒ, MySQL 5.0.3 ์ดํ›„๋กœ VARCHAR์™€ TEXT ํƒ€์ž… ๋ชจ๋‘ ์ตœ๋Œ€ 65,535byte ๊ธธ์ด๋ฅผ ์ง€์›ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

VARCHAR์™€ TEXT๋Š” ๋‘˜ ๋‹ค ๋ฌธ์ž์—ด์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด๋ฉฐ, ๋‘˜์˜ ์ฃผ์š” ์ฐจ์ด์ ๊ณผ ํŠน์ง•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

 

์ €์žฅ ์šฉ๋Ÿ‰

VARCHAR์˜ ์ €์žฅ ๊ตฌ์กฐ

VARCHAR๋Š” ์ตœ๋Œ€ 65,535byte๊นŒ์ง€ ์ €์žฅ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ,  '(ํ˜„์žฌ ์ €์žฅ๋œ byte์˜ ํฌ๊ธฐ) + (๊ธธ์ด๋ฅผ ํ‘œํ˜„ํ•˜๋Š” byte)'๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด 'apple'์˜ ๊ฒฝ์šฐ, ๋ฌธ์ž์—ด 'apple'์€ 5byte์ด๋ฉฐ, ๊ทธ ๊ธธ์ด๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐ”์ดํŠธ๋Š” 1byte์ด๋ฏ€๋กœ ์ด 6byte๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ฃผ๋ชฉํ•  ์ ์€ ๋ฌธ์ž์—ด์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๊ธธ์ด๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ์ ‘๋‘์‚ฌ์˜ ๋ฐ”์ดํŠธ ํฌ๊ธฐ๊ฐ€ ๋‹ฌ๋ผ์ง„๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  • 255byte ์ดํ•˜์˜ ๋ฐ์ดํ„ฐ ์ €์žฅ: ๊ธธ์ด ์ ‘๋‘์‚ฌ๋กœ 1byte๋ฅผ ์‚ฌ์šฉ, ์‹ค์ œ ๋ฌธ์ž์—ด ๋ฐ์ดํ„ฐ๋Š” ์ตœ๋Œ€ 65,534byte๋ฅผ ์‚ฌ์šฉ
  • 255byte๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ๋ฐ์ดํ„ฐ ์ €์žฅ: ๊ธธ์ด ์ ‘๋‘์‚ฌ๋กœ 2byte๋ฅผ ์‚ฌ์šฉ, ์‹ค์ œ ๋ฌธ์ž์—ด ๋ฐ์ดํ„ฐ๋Š” ์ตœ๋Œ€ 65,532byte ์‚ฌ์šฉ
CREATE TABLE user_varchar (
  id       BIGINT NOT NULL,
  name     VARCHAR(4000),   -- 2๋ฐ”์ดํŠธ์˜ ๊ธธ์ด ์ ‘๋‘์‚ฌ + 4000๋ฐ”์ดํŠธ์˜ ๋ฌธ์ž์—ด
  phone_no VARCHAR(4000),
  address  VARCHAR(4000),
  email    VARCHAR(4000),
  PRIMARY KEY(id)
);

TEXT์˜ ์ €์žฅ ๊ตฌ์กฐ

TEXT๋„ ์ตœ๋Œ€ 65,535 ๋ฐ”์ดํŠธ๊นŒ์ง€ ์ €์žฅํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, VARCHAR์™€ ๋‹ฌ๋ฆฌ ๋ฌด์กฐ๊ฑด ๊ธธ์ด ์ ‘๋‘์‚ฌ๋กœ 2๋ฐ”์ดํŠธ๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์‹ค์ œ ๋ฌธ์ž์—ด ๋ฐ์ดํ„ฐ๋Š” ์ตœ๋Œ€ 65,533 ๋ฐ”์ดํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

CREATE TABLE user_text (
  id       BIGINT NOT NULL,
  name     TEXT,    -- 2๋ฐ”์ดํŠธ์˜ ๊ธธ์ด ์ ‘๋‘์‚ฌ + 65,533๋ฐ”์ดํŠธ์˜ ๋ฌธ์ž์—ด
  phone_no TEXT,
  address  TEXT,
  email    TEXT,
  PRIMARY KEY(id)
);

 

 

์ €์žฅ ๋ฐฉ์‹

InnoDB ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์—์„œ๋Š” Inline๊ณผ Off-Page ์Šคํ† ๋ฆฌ์ง€๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

  • Inline ์Šคํ† ๋ฆฌ์ง€๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋ ˆ์ฝ”๋“œ ๋‚ด๋ถ€์— ์ง์ ‘ ์ €์žฅ๋˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๊ณต๊ฐ„ ์‚ฌ์šฉ ํšจ์œจ์ด ๋†’์•„, ์งง์€ ๋ฌธ์ž์—ด ์ €์žฅ์— ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.
  • Off-Page ์Šคํ† ๋ฆฌ์ง€๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋ ˆ์ฝ”๋“œ ์™ธ๋ถ€, ๋ณ„๋„์˜ ๊ณต๊ฐ„์— ์ €์žฅ๋˜๋ฉฐ ๋ ˆ์ฝ”๋“œ ๋‚ด๋ถ€์—๋Š” ํ•ด๋‹น ๋ฐ์ดํ„ฐ ์œ„์น˜๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ํฌ์ธํ„ฐ๊ฐ€ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

InnoDB๋Š” TEXT์™€ VARCHAR ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ, ๊ทธ ๋ฐ์ดํ„ฐ์˜ ๊ธธ์ด๊ฐ€ ํŠน์ • ์ž„๊ณ„๊ฐ’์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค๋ฉด Inline๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

InnoDB ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์€ 'ํŽ˜์ด์ง€'๋ผ ๋ถˆ๋ฆฌ๋Š” ๋ธ”๋ก ๋‹จ์œ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ด ํŽ˜์ด์ง€์˜ ํฌ๊ธฐ๋Š” 16KB์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ชจ๋“  16KB๊ฐ€ ๋ฐ์ดํ„ฐ ์ €์žฅ์„ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ํŽ˜์ด์ง€์˜ ์ผ๋ถ€๋Š” ํ—ค๋”, ํŠธ๋žœ์žญ์…˜ ์ •๋ณด, ๋””๋ ‰ํ† ๋ฆฌ ๋“ฑ์˜ ์‹œ์Šคํ…œ ์ •๋ณด์— ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์—, ์‹ค์ œ ๋ ˆ์ฝ”๋“œ๊ฐ€ ์ €์žฅ๋  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์€ ํŽ˜์ด์ง€ ํฌ๊ธฐ์˜ ์ ˆ๋ฐ˜์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 16KB ํŽ˜์ด์ง€์—์„œ๋Š” ์•ฝ 8,117๋ฐ”์ดํŠธ๊ฐ€ ๋ฐ์ดํ„ฐ ์ €์žฅ์— ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๊ณ , 16KB์—์„œ๋Š” ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๊ฐ€ ์ž„๊ณ„๊ฐ’์ธ 8,117๋ฐ”์ดํŠธ๋ฅผ ์ดˆ๊ณผํ•˜๋ฉด Off-Page๋กœ ์ €์žฅํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

MySQL์˜ InnoDB rrow_format์— ๋”ฐ๋ผ Off-Page ์ €์žฅ ์ „๋žต์—๋Š” ์ฐจ์ด๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”์šฑ ์ž์„ธํ•œ ์ •๋ณด์™€, ํŽ˜์ด์ง€ ํฌ๊ธฐ๊ฐ€ 64KB์ธ ๊ฒฝ์šฐ์˜ ์˜ˆ์™ธ ์‚ฌํ•ญ ๋“ฑ์€ MySQL ๊ณต์‹ ๋ฌธ์„œ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

์ธ๋ฑ์‹ฑ

VARCHAR๋Š” ์ „์ฒด ๋ฌธ์ž์—ด์— ๋Œ€ํ•œ ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋” ์ •ํ™•ํžˆ๋Š” ํŠน์ • ๊ธธ์ด ๋‚ด์—์„œ๋Š” ์ „์ฒด ๋ฌธ์ž์—ด์— ๋Œ€ํ•ด ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

InnoDB ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์„ ํ™œ์šฉํ•˜๋Š” MySQL์—์„œ๋Š” ์ธ๋ฑ์Šค ํ•ญ๋ชฉ์˜ ์ตœ๋Œ€ ํฌ๊ธฐ๊ฐ€ 767 ๋ฐ”์ดํŠธ๋กœ ์ œํ•œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • UTF-8mb4 ๋ฌธ์ž์…‹์„ ์‚ฌ์šฉ: ํ•œ ๋ฌธ์ž๋‹น ์ตœ๋Œ€ 4๋ฐ”์ดํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด, ์ด๋ชจํ‹ฐ์ฝ˜์„ ํฌํ•จํ•œ ๋ฌธ์ž๋“ค์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ๋Œ€ 191์ž(191 * 4 = 764 ๋ฐ”์ดํŠธ)๊นŒ์ง€์˜ VARCHAR ์ปฌ๋Ÿผ์— ๋Œ€ํ•œ ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • UTF-8 ๋ฌธ์ž์…‹์„ ์‚ฌ์šฉ: ํ•œ ๋ฌธ์ž๋‹น ์ตœ๋Œ€ 3๋ฐ”์ดํŠธ๊ฐ€ ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 255์ž(255 * 3 = 765)๊นŒ์ง€์˜ ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ˜๋ฉด์—, TEXT ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ „์ฒด ๋ฌธ์ž์—ด์„ ๊ธฐ์ค€์œผ๋กœ ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์—†๊ณ , ๋ฐ˜๋“œ์‹œ ์ผ์ • ๊ธธ์ด๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•˜์—ฌ์•ผ๋งŒ ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

CREATE INDEX idx_column_name ON table_name(column_name(100));

์—ฌ๊ธฐ์„œ 100์€ TEXT ์ปฌ๋Ÿผ์˜ ์ฒ˜์Œ 100์ž๋ฅผ ์ธ๋ฑ์Šค๋กœ ์‚ฌ์šฉํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. TEXT ํƒ€์ž…์˜ ์ปฌ๋Ÿผ์— ์ธ๋ฑ์Šค๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ, ์ธ๋ฑ์Šค๋กœ ์‚ฌ์šฉ๋  ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

 

 

๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ

MySQL ์„œ๋ฒ„๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ๋•Œ ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„๊ณผ Handler API๋ฅผ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ 'records[2]'๋ผ๋Š” ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค. 'records[2]' ๋ฐฐ์—ด์€ MySQL์˜ ํ•ต์‹ฌ ๊ตฌ์กฐ ์ค‘ ํ•˜๋‚˜์ธ TABLE ๊ตฌ์กฐ์ฒด ๋‚ด์— ์œ„์น˜ํ•˜๋ฉฐ, MySQL ์—”์ง„๊ณผ InnoDB ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์ด ๋ ˆ์ฝ”๋“œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋‘ ๊ฐœ์˜ ๋ฉ”๋ชจ๋ฆฌ ํฌ์ธํ„ฐ๋ฅผ ๋‹ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ํฌ์ธํ„ฐ๋Š” ํ˜„์žฌ ์ž‘์—… ์ค‘์ธ ๋ ˆ์ฝ”๋“œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋ฉฐ, ๋‘ ๋ฒˆ์งธ ํฌ์ธํ„ฐ๋Š” ๋งˆ์ง€๋ง‰์œผ๋กœ ์ฒ˜๋ฆฌ๋œ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ตฌ์กฐ๋Š” ๋™์‹œ์— ์—ฌ๋Ÿฌ ์ปค๋„ฅ์…˜์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์—ฐ์†์ ์ธ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์œผ๋ฉฐ, MySQL ์„œ๋ฒ„์˜ ํšจ์œจ์„ฑ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ๋ฐ์ดํ„ฐ์˜ ํƒ€์ž…์— ๋”ฐ๋ผ 'records[2]'์—์„œ์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๋ฐฉ์‹์ด ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. VARCHAR์™€ ๊ฐ™์ด ์‚ฌ์ „์— ํฌ๊ธฐ๊ฐ€ ์ •์˜๋œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์˜ ๊ฒฝ์šฐ, 'records[2]'์— ํ• ๋‹น๋œ ๊ณ ์ •๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ๋‚ด์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” VARCHAR ํƒ€์ž…์˜ ๊ฒฝ์šฐ ํฌ๊ธฐ๊ฐ€ ์ •ํ•ด์ ธ ์žˆ์–ด ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๊ฐ€ ๋น„๊ต์  ๋‹จ์ˆœํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋ฐ˜๋ฉด์— TEXT๋‚˜ BLOB๊ณผ ๊ฐ™์€ ํฌ๊ธฐ๊ฐ€ ๊ฐ€๋ณ€์ ์ธ LOB ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ๊ทธ ํฌ๊ธฐ๊ฐ€ 'records[2]'์˜ ํ• ๋‹น ๋ฒ”์œ„๋ฅผ ์ดˆ๊ณผํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ํ•„์š”์— ๋”ฐ๋ผ ๋™์ ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹น๋ฐ›๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” LOB ๋ฐ์ดํ„ฐ ํƒ€์ž…์˜ ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๊ฐ€ ๋ณ€๋™์ ์ด์–ด์„œ ๋™์  ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์ด ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋˜ํ•œ, VARCHAR ๋ฐ์ดํ„ฐ๊ฐ€ ๋งค์šฐ ํฌ๊ฒŒ ๋˜์–ด Off-Page ์ €์žฅ์ด ํ•„์š”ํ•˜๊ฒŒ ๋˜๋ฉด, ์ด ๊ฒฝ์šฐ 'records[2]'์˜ ๊ธฐ์กด ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ฒŒ ๋˜๋ฏ€๋กœ ์ƒˆ๋กœ์šด ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์ด ํ•„์š”ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

 

์„ฑ๋Šฅ ํ™•์ธ ๋ถˆ๊ฐ€

LOB(Large Object) ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ํฐ ๋ฌธ์ž์—ด ๋˜๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋ฉฐ, MySQL์—์„œ๋Š” ์ด์— ํ•ด๋‹นํ•˜๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…์œผ๋กœ TEXT์™€ BLOB์ด ์žˆ์Šต๋‹ˆ๋‹ค.

MySQL 8.0.33 ๋ฒ„์ „๊นŒ์ง€๋Š” Performance_schema์—์„œ LOB์ปฌ๋Ÿผ์— ๋Œ€ํ•œ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๋ฐ ํ•ด์ œ ์ •๋ณด๋ฅผ ์ธก์ •ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Performance_schema๋Š” MySQL์„œ๋ฒ„์˜ ๋‹ค์–‘ํ•œ ๋‚ด๋ถ€ ๋™์ž‘์— ๋Œ€ํ•œ ์„ฑ๋Šฅ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ์„ฑ๋Šฅ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ฑฐ๋‚˜ ๋ถ„์„ํ•  ๋•Œ, ์ด๋Ÿฌํ•œ LOB ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ ํŒจํ„ด์ด๋‚˜ ๊ด€๋ จ๋œ ์„ฑ๋Šฅ ์˜ํ–ฅ์„ ์ง์ ‘ ํ™•์ธํ•  ์ˆ˜ ์—†๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

 

๋งˆ๋ฌด๋ฆฌ

MySQL ์„œ๋ฒ„์˜ ๋‚ด๋ถ€์ ์ธ ์ž‘๋™์—์„œ, VARCHAR์™€ TEXT ํƒ€์ž…์˜ ํฐ ์ฐจ์ด์ ์„ ์‚ดํŽด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ด ์ฐจ์ด์ ์„ ๋ฐ”ํƒ•์œผ๋กœ VARCHAR์™€ TEXT์˜ ์„ ํƒ ๊ธฐ์ค€์„ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ •๋ฆฌํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

VARCHAR

  • ๋ฐ์ดํ„ฐ์˜ ์ตœ๋Œ€ ๊ธธ์ด๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ์งง์€ ๊ฒฝ์šฐ
  • ํ•ด๋‹น ์ปฌ๋Ÿผ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ํ…Œ์ด๋ธ”์„ ์กฐํšŒํ•  ๋•Œ๋งˆ๋‹ค ํ•ญ์ƒ ํ•„์š”ํ•  ๊ฒฝ์šฐ
  • DBMS ์„œ๋ฒ„์˜ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ (์ƒ๋Œ€์ ์œผ๋กœ) ์ถฉ๋ถ„ํ•œ ๊ฒฝ์šฐ

TEXT

  • ๋ฐ์ดํ„ฐ์˜ ์ตœ๋Œ€ ๊ธธ์ด๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ๊ธด ๊ฒฝ์šฐ
  • ํ…Œ์ด๋ธ”์—์„œ ๊ธด ๋ฌธ์ž์—ด ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ด์•ผ ํ•  ์ปฌ๋Ÿผ์ด ์—ฌ๋Ÿฌ ๊ฐœ ํ•„์š”ํ•œ ๊ฒฝ์šฐ
  • ํ•ด๋‹น ์ปฌ๋Ÿผ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ํ…Œ์ด๋ธ”์„ ์กฐํšŒํ•  ๋•Œ๋งˆ๋‹ค ํ•„์š”ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ

 

 

์ฐธ๊ณ 

๋Œ“๊ธ€