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 30539 게시물 읽기
No. 30539
단순한 조인 쿼리 속도문제 입니다.
작성자
최진규(cjg1012)
작성일
2013-01-17 14:44
조회수
8,556

우선 쿼리들 결과부터 보시면요..빨간색 부분이 문제입니다.
SELECT
    A.*
  FROM MT_DIARY A, MT_MEMBER B
 WHERE A.EMAIL=B.EMAIL
 ORDER BY A.SEQ DESC
 LIMIT 0, 100;
--> 0.037sec

SELECT
    A.*
  FROM MT_DIARY A, MT_MEMBER B
 WHERE A.EMAIL=B.EMAIL
   AND B.REPORT_COUNT < 4
 ORDER BY A.SEQ DESC
 LIMIT 0, 100;
--> 0.028sec

 SELECT
    A.*
  FROM MT_DIARY A, MT_MEMBER B
 WHERE A.EMAIL=B.EMAIL
   AND B.REPORT_COUNT < 4 
   AND B.LOCALE = 'KR'
 ORDER BY A.SEQ DESC
 LIMIT 0, 100;
 --> 0.024sec

 SELECT
    A.*
  FROM MT_DIARY A, MT_MEMBER B
 WHERE A.EMAIL=B.EMAIL
   AND B.REPORT_COUNT < 4 
   AND B.LOCALE = 'US'
 ORDER BY A.SEQ DESC
 LIMIT 0, 100;
 --> 6.101sec

SELECT COUNT(1) FROM MT_DIARY;  --> 893518 건

SELECT COUNT(1) FROM mt_member WHERE LOCALE = 'KR';  --> 150088 건
SELECT COUNT(1) FROM mt_member WHERE LOCALE = 'US';  --> 1 건
 

Table            Key_name              Column_name      Cardinality
mt_diary       PRIMARY                seq                          971710
mt_diary       idx1_mt_diary         email                       97171


Table                      Key_name              Column_name              Cardinality
mt_member         PRIMARY                 email                               172736
mt_member         idx1                           last_conn_date             232
mt_member         idx1                           jender                              343
mt_member         idx_2                        device_code                   172736

빨간색 부분이 문제인데요..
US라고 만족하는 데이터가 약 15만건중 1건이 있습니다. 추후에는 늘어나겠지만 현재는 그래요..
인덱스로 할수도 없는게 selectivity 가 1% 미만이 될수도 있어요..
현재 mt_diary테이블에 idx1_mt_diary selectivity가 10% 정도라 인덱스가 유명무실해졌는데요...
이런경우 어째 해야할까요?? 답이 없는거 같아요..ㅜㅜ

참고로 innoDB입니다.

[Top]
No.
제목
작성자
작성일
조회
30542자료 복구 할수 있을까요? [1]
강삼수
2013-01-21
9645
30541아마존 AWS 사용중인데 Mysql error 2002 에러가 납니다. [1]
최지훈
2013-01-20
9012
30540히스토리의 변동시점 알기 [4]
박기훈
2013-01-17
8135
30539단순한 조인 쿼리 속도문제 입니다.
최진규
2013-01-17
8556
30538enum 형은 범위 비교 연산자가 인덱스를 타지 못하나요?? [1]
학생입니다
2013-01-09
8626
30526두가지 쿼리를 합쳐야 합니다(필드는 같음) [2]
박정원
2012-12-20
9581
30525Lost connection to MySQL server during query 문의 드립니다.
좋아요
2012-12-18
8533
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.021초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다