Home > 2024 > MySQL > ๐Ÿ‹[MySQL] SELECT ์กฐํšŒ ๊ฒฐ๊ณผ LIMIT 1000 ROW ํ•ด์ œํ•˜๊ธฐ.

๐Ÿ‹[MySQL] SELECT ์กฐํšŒ ๊ฒฐ๊ณผ LIMIT 1000 ROW ํ•ด์ œํ•˜๊ธฐ.
MySQL

MySQL์—์„œ SELECT์˜ ์กฐํšŒ ๊ฒฐ๊ณผ๊ฐ€ 1000๊ฐœ๋งŒ ์ถœ๋ ฅ์ด ๋˜๋Š” ์ด์œ .

์ฒ˜์Œ์—๋Š” MySQL๋กœ for ๋ฌธ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”์ง€ ํ˜ธ๊ธฐ์‹ฌ์—์„œ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.(for๋ฌธ์— ๋Œ€ํ•œ ํฌ์ŠคํŒ…์€ ๋”ฐ๋กœ ์˜ฌ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.)

๊ทธ๋ž˜์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค๊ณ  ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

delimiter $$ 
create procedure loopInsert()
begin
	declare i int;
	set i = 1;

	while (i <= 2000) do
		insert into test_table (id) values(i);
    
		set i = i + 1;
	end while;
end $$

call loopInsert(); --2000๊ฐœ์˜ id๊ฐ€ ๋งŒ๋“ค์–ด์ง.

์ €์˜ ์˜ˆ์ƒ์€ 2000๊ฐœ์˜ row(ํ•„๋“œ)๊ฐ€ ๋งŒ๋“ค์–ด์ ธ id๊ฐ€ 1~2000์ด ๋˜์–ด Result ๊ฐ’์— ๋ณด์—ฌ์งˆ ์ค„ ์•Œ์•˜์œผ๋‚˜ id์˜ ๊ฐฏ์ˆ˜๋ฅผ ์„ธ์–ด์ฃผ๋Š” SQL ๋ฌธ์„ ๋งŒ๋“ค์–ด ์‹คํ–‰ ์‹œ์ผœ๋ณด๋‹ˆ 1000 ์ด๋ผ๋Š” ๊ฒฐ๊ณผ๊ฐ’์ด ๋‚˜์™”์Šต๋‹ˆ๋‹ค.

SELECT COUNT(id) FROM test_table; -- ๊ฒฐ๊ณผ๊ฐ’ count(id) 1000

๊ทธ๋ž˜์„œ ํ™•์ธ์„ ํ•ด๋ณด๋ ค ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฟผ๋ฆฌ๋ฌธ์„ ๋งŒ๋“ค์–ด ์‹คํ–‰ํ•ด๋ดค์Šต๋‹ˆ๋‹ค.

SELECT * FROM test_table; 
-- Action select * from test_table LIMIT 0, 1000
-- ๊ฒฐ๊ณผ๊ฐ’ 1~999, Response 1000 row(s) returned
  • ์—ฌ๊ธฐ์„œ ์ฃผ๋ชฉํ•  ์ ์€ โ€œAction select * from test_table LIMIT 0, 1000โ€ ์ž…๋‹ˆ๋‹ค.
    • ์ €๋Š” LIMIT ํ‚ค์›Œ๋“œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๊ณ  ์ด LIMIT์„ ํ•ด์ œํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค.

LIMIT ํ•ด์ œ ๋ฐฉ๋ฒ•1 : ์ง์ ‘ LIMIT ์ œํ•œ ๋ฒ”์œ„ ๊ฑธ์–ด์ฃผ๊ธฐ

์ง์ ‘์ ์ธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ์•„๋‹ˆ์ง€๋งŒ,
์ฟผ๋ฆฌ ์ž์ฒด๊ฐ€ โ€˜LIMIT 1000โ€™์œผ๋กœ ๊ณ ์ •๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ฟผ๋ฆฌ์— LIMIT๋ฅผ ๋„ฃ์–ด LIMIT ์ œํ•œ์„ ๋Š˜๋ ค์ฃผ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

  • ์ด ๋ฐฉ์‹์€ ๊ถŒ์žฅํ•˜๋Š” ๋ฐฉ์‹์€ ์•„๋‹ˆ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋ฅผ ์ œ์‹œํ•œ ๊ฒƒ ๋ฟ์ด๋ผ๋Š” ๋ธ”๋กœ๊ทธ์˜ ๊ธ€์„ ๋ณด์•˜์Šต๋‹ˆ๋‹ค.
    • ์•„๋ž˜์™€ ๊ฐ™์ด LIMIT ํ‚ค์›Œ๋“œ๋ฅผ ์ฟผ๋ฆฌ ๋‚ด์— ์ง์ ‘ ๋ช…์‹œํ•˜์—ฌ ๋ฒ”์œ„๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.
      select * from table_test LIMIT 99999999;
      

LIMIT ํ•ด์ œ ๋ฐฉ๋ฒ•2 : Workbench ์„ค์ • Limit Rows ์˜ต์…˜ ํ•ด์ œํ•˜๊ธฐ

MySQL์—์„œ์˜ Workbench์—๋Š” SELECT ์ฟผ๋ฆฌ ์กฐํšŒ ๊ฒฐ๊ณผ๋ฅผ ์ž์ฒด์ ์œผ๋กœ ํ–‰์„ ์ œํ•œํ•ด์„œ ๋ณด์—ฌ์ฃผ๋Š” ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค ์ด๊ฒŒ ๊ธฐ๋ณธ ๊ฐ’ 1000ํ–‰์œผ๋กœ ๋˜์žˆ๋Š”๋ฐ, ์ด ์˜ต์…˜์„ ๋ณ€๊ฒฝ ๋˜๋Š” ํ•ด์ œํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

  • settings > SQL Execution > SELECT Query Results > Limit Rows ํ•ด์ œ
    • ํ˜น์€ Limit Rows Count ํ–‰ ์ˆ˜ ๋ณ€๊ฒฝ.

Limit Rows ์˜ต์…˜์˜ ์žฅ.๋‹จ์ .

  • ์žฅ์ 
    • ํ…Œ์ด๋ธ”์— ์†ํ•ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ์ˆ˜๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋‹จ์ 
    • ๋ฌด๋ถ„๋ณ„ํ•œ ์ „์ฒด ์กฐํšŒ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ณผ๋ถ€ํ•˜์— ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ๋ก ์ ์œผ๋กœ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์ƒํ™ฉ์— ๋งž๊ฒŒ ์ž˜ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ฆ‰, ์ตœ์ ํ™”์™€ DB ์„ฑ๋Šฅ์— ์˜ํ–ฅ์— ๋Œ€ํ•ด ์ž˜ ๊ณ ๋ฏผํ•ด๋ณด๊ณ  ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ์˜ˆ์‹œ 1) ํ…Œ์ด๋ธ” ๊ตฌ์กฐ ๋ฐ ๋ฐ์ดํ„ฐ ํ™•์ธ ์šฉ๋„.
    SELECT * FROM ํ…Œ์ด๋ธ”์ด๋ฆ„ LIMIT 5;
    
  • ์˜ˆ์‹œ 2) ์กฐ๊ฑด์— ๋งž๋Š” ํŠน์ • ๋ฐ์ดํ„ฐ ํ™•์ธ ์šฉ๋„.
    SELECT ์ปฌ๋Ÿผ๋ช… FROM ํ…Œ์ด๋ธ”๋ช… WHERE ์กฐ๊ฑด์ž…๋ ฅ LIMIT 5;