wintertreey 님의 블로그

FOUND_ROWS, SQL_CALC_FOUND_ROWS 본문

SQL과 DB

FOUND_ROWS, SQL_CALC_FOUND_ROWS

wintertreey 2025. 6. 25. 16:21

보통 데이터수를 셀때 count(*)로 데이터를 세는데 그러면 풀로 데이터를 스캐닝 하게 된다.

속도나 효율성의 측면에서 이를 해결하고자 mysql에서 제공하는 기능.

select * from DATA;
select FOUND_ROWS();

데이터 조회, 전체데이터수 100.

직전 쿼리 수행결과에서 row수를 반환한다.

 

FOUND_ROW()는 LIMIT을 따르기에

select * from DATA LIMIT 10;
select FOUND_ROWS();

이 SQL은 10개의 데이터, 10을 반환한다. 

 

 

 

만약 LIMIT도 걸고, 전체 ROW수를 찾고자 한다면

 

select SQL_CALC_FOUND_ROWS * from DATA limit 10;
select FOUND_ROWS();

 

10개의 데이터, 데이터전체수 100을 반환한다.

 

 


https://velog.io/@isntkyu/SQLMySQL-SQLCALCFOUNDROWS%EC%99%80-FOUNDROWS

 

[SQL][MySQL] SQL_CALC_FOUND_ROWS와 FOUND_ROWS()

화면을 구성할 데이터를 SELECT 할 때 페이징 기능 등을 위해서 데이터의 row 수를 같이 반환해야 할 때가 있다

velog.io