database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 30151 게시물 읽기
No. 30151
페이징 처리시 총건수 문제..
작성자
최진규(cjg1012)
작성일
2011-11-21 00:55ⓒ
2011-11-21 00:55ⓜ
조회수
10,195

 페이징 처리시 총건수가 필요하잖아요..

 
오라클에서는 count(1) over()를 사용해서 원쿼리에서 해결했는데..
mysql은 어떻게 해결하나요??
 
현재는 오라클의 저 기능(?)을 찾지 못해
총건수 select count(1)...로 총건수 구하고
이후 바로 limit를 이용한 본쿼리를 요청하는데요..
아무리 생각해도 너무 비효율적이예요..ㅜㅜ
 
그리고 문제는 
8만건 데이터에서 본쿼리보다 총건수 구하는쿼리가 더 늦어요..-_-;;
count() -> 이게 늦어요..
 
slow query log 보면 총건수 구하는 쿼리가 쌓이더군요..-_-;;
 
보통 mysql 에서 페이징 처리시 총건수는 어떤 방법으로 구하나요??
이 글에 대한 댓글이 총 4건 있습니다.

 

 

대략 이런 건 어떤가요?

 

mysql> select table_name, table_rows from information_schema.tables where

    -> table_schema = 'schema_name' and table_name = 'table_name';

이런 함수나 펑션을 만들어서 호출하는 것이 count보다는 효율적일 듯. 

 

.님이 2011-11-21 09:24에 작성한 댓글입니다. Edit

 아 information에서 찾는 방법도 있네요..

하지만...저는 기본적으로 조건이 들어가는 경우라..사용이 안되겠어요..ㅜㅜ

최진규(cjg1012)님이 2011-11-21 13:23에 작성한 댓글입니다.

[자답]

 SQL_CALC_FOUND_ROWS 와 FOUND_ROWS(); 이것이 있었네요..

최진규(cjg1012)님이 2011-11-24 00:01에 작성한 댓글입니다.
이 댓글은 2011-11-24 00:01에 마지막으로 수정되었습니다.

Trigger 로 구현 하심이 어떠실지?

박명회(park4019)님이 2011-11-28 17:04에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
30154innodb에 성능에 문제 [1]
최진규
2011-11-25
9470
30153검색엔진처럼 검색하는 기법이 뭐가 있을까요? [3]
VQ
2011-11-24
8648
30152my.cnf 옵션들중에... [1]
이제환
2011-11-22
8079
30151페이징 처리시 총건수 문제.. [4]
최진규
2011-11-21
10195
30149group by 최소값이 이상합니다. [2]
장민철
2011-11-19
7461
30148mysq int unsigned index [2]
우영제
2011-11-18
7840
30147한글검색문제 [2]
김양훈
2011-11-17
7574
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.024초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다