wintertreey 님의 블로그
FOUND_ROWS, SQL_CALC_FOUND_ROWS 본문
보통 데이터수를 셀때 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
'SQL과 DB' 카테고리의 다른 글
연관관계 매핑 : 1대1, 1대다 다대1, 다대다 (1) | 2025.06.30 |
---|---|
[Mybatis] 동적 쿼리, 컨트롤 플래그(가상 파라미터) (1) | 2025.05.23 |
다대다 관계 N:N (0) | 2025.05.16 |