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 27493 게시물 읽기
No. 27493
서브쿼리 카운트한것을 소팅할때 filesort를 없앨수 있나요?
작성자
작성일
2008-03-31 22:16
조회수
3,321

select 
  a,
  (select count(*) form b where b.a between 1 and 2) cnt
from b
order by cnt desc;


위와 같은 쿼리문이 있는데 Extra를 보면 filesort를 이용합니다.

인덱스를 탈수 있는 방법이 없을까요?

서브쿼리에 힌트를 줘도 filesort를 이용하네요..

약 5만건이 있는데도 가져오는데 시간이 많이 걸립니다.

order by 를 쓰지 않으면 filesort를 이용하지 않지만 반드시 카운트한것을 역순으로 가져와야하기에..

고수님들의 조언 부탁드립니다.

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

index 자체를 역순으로 거는 방법도 있을듯 합니다.

물살님이 2008-04-01 01:36에 작성한 댓글입니다. Edit

쿼리 자체가 이상한 것 같습니다.


어떤 데이터를 원하는 것인지 쿼리의 의도를 적어주시는게 좋을 듯 싶네요.

trinity님이 2008-04-03 15:50에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
27496mysql4.1.22 나 mysql5.0.x버전을 쓸려고 하는데요.. [2]
조원국
2008-04-03
3249
27495쿼리문 질문 드립니다. [1]
벤티지
2008-04-02
3057
27494mysql 각 사용자 용량제어 방법 [1]
삽질중
2008-04-02
3137
27493서브쿼리 카운트한것을 소팅할때 filesort를 없앨수 있나요? [2]
2008-03-31
3321
27492PostgreSQL --> MySQL 로 migration 하기.. 도와주세요. ㅠㅠ [1]
훈돌
2008-03-31
3695
27491한글깨짐 현상 [1]
이장원
2008-03-30
5078
27490function 만들려고 하는데요..delimiter가 안됩니다~.. [1]
김준성
2008-03-30
4035
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다