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 30548 게시물 읽기
No. 30548
1억건 이상의 데이터베이스 질의에 대해서 질문드립니다.
작성자
타브리스의날개(nkaworu)
작성일
2013-01-28 15:35ⓒ
2013-01-28 15:38ⓜ
조회수
9,368

1억 건이상의 로우를 가지고 있는 MySQL에서  1만개씩 끈어서 데이터를 가지고 오고 있습니다

SELECT * FROM 테이블명 LIMIT 0,10000 으로 질의문을 썼습니다.

하지만 3천만건 이상부터는 응답속도가 현저히 느려져서 처리속도가 너무 느려지고 있는데요.

방법이 없을지 질문드립니다.

서버의 사양은 16코어의 CPU 메모리는 16기가 입니다.

데이터의 건수는 1억 1천건이고 테이블은 3개의 컬럼을 가지고 있고 2개는 인트형 1개는 string입니다.

인트형 두컬럼은 인덱스 되어있습니다.

 

이 글에 대한 댓글이 총 2건 있습니다.

읽기 skip때문입니다.

index가 있으므로 index skip 방식으로 변경하면  빨라질 가능성이 있네요.

 

select a.*

from 테이블명 a,

       (select 인트형컬럼

        from 테이블명

        limit 3000, 10000) b

where a.인트형 = b.인트형

 

이런식으로 사용해 보세요

박인호(paerae)님이 2013-01-29 10:48에 작성한 댓글입니다.

 위와 같은 쿼리를 쓰더라도 어짜피 서브쿼리에서 limit offset에 대한 읽기가 있기 때문에 큰 성능향상은 없을것 같고 귀찮겠지만 limit가 없는 타 DB에서 쓰는것과 같이 기존 데이터의 마지막 값 등을 바탕으로 where에서 데이터 OFFSET 범위를 지정해주시는게 좋을 것 같습니다.

select * from 테이블 where 인트형 > 마지막값 order by 인트형 asc limit 10000 뭐 이런식으로?

 

박형범(huhushow)님이 2013-01-29 15:12에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
30551win8 에서 오류가 도대체... [4]
이청하
2013-01-31
9590
30550쿼리 결과 파일로 저장할때.. [1]
yul
2013-01-29
8289
30549Toad for Mysql 로 게시판 볼 때 너무 느립니다.
홍원기
2013-01-28
8650
305481억건 이상의 데이터베이스 질의에 대해서 질문드립니다. [2]
타브리스의날개
2013-01-28
9368
30544서브 쿼리 합치기 질문드립니다.
최지훈
2013-01-23
8023
30543oracle 에서 mysql 로 procedure변환.
박주병
2013-01-22
8850
30542자료 복구 할수 있을까요? [1]
강삼수
2013-01-21
9578
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다