mysql index의 order by desc 문제 > Database

본문 바로가기
사이트 내 전체검색


회원로그인

오늘 312
어제 389
최대 618
전체 421,627
마음을 나누는 인터넷 일기장 - 통플 다이어리
Database

mysql index의 order by desc 문제

페이지 정보

작성자 nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일18-12-17 16:09 조회63회 댓글0건

본문

문제: 

mysql에서 order by desc를 사용하면 성능이 급격히 낮아지는 경우가 있는데,

이유는 index를 역순으로 저장하는 방식을 mysql은 지원하지 않기 때문이다.

그래서 (key1 desc, key2 asc)와 같은 결합인덱스를 생성할 때 문제가 발생할 수 있다.


문제 해결책 :

이런 문제를 해결하는 방법은 정렬 column 값에 -1을 곱해서 table에 넣어버려서 추후 order by asc로 해결하는 패턴을 많이 사용한다.


심화문제 :

하지만 

desc 정렬 column이 auto_increment로 생성되는 값이라면 조금 더 복잡해진다.

심화문제 해결책 1 :

매우 제한적인 상황에서 통할 수 있는 엽기적인 방법인데 session variable 중 auto_increment_increment의 값을 -1로 해버리면 해결되는 경우가 있다.


심화문제 해결책 2 :

last_insert_id()를 사용하는 방법으로 -1*(last_insert_id()+1) 으로 auto_decrement를 구현한다.



https://blog.naver.com/lipaz/100047320100

[출처] mysql index의 order by desc 문제|작성자 천재민

추천 0

댓글목록

등록된 댓글이 없습니다.

Database 목록

Total 74건 1 페이지
Database 목록
번호 제목 글쓴이 날짜 조회 추천
74 MySQL 쓰면서 하지 말아야 할 것 17가지 nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 12-17 54 0
열람중 mysql index의 order by desc 문제 nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 12-17 64 0
72 mariadb 원격접속 문제 nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 08-29 312 0
71 MySQL #1690 - BIGINT UNSIGNED value is out of rang… nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 09-08 1581 0
70 MySQL ON DUPLICATE KEY UPDATE nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 05-04 3771 0
69 InnoDB 형식의 테이블 nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 07-24 5929 0
68 mysql 대용량처리 nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 07-24 7115 0
67 MySQL FULLTEXT 검색 nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 04-25 9495 0
66 MySQL 문자열 길이 nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 04-25 8537 0
65 [MySQL] Full-Text Search nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 04-08 9196 0
64 mysql euc-kr -> utf-8 변환 nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 04-04 8561 0
63 [mysql] SQL order string as number nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 10-28 7719 0
62 [MySQL] 서브쿼리 - 두 개 이상의 SQL쿼리 조합하기 최고관리자 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 05-14 7058 0
61 MYISAM -> INNODB 변환 nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 10-06 13413 0
60 mysql euckr 을 utf8 로 변경 nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 09-29 12636 0
59 VB MySql 연결 및 한글문제 해결 nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 09-06 15185 0
58 windows 2003 MySQL 서비스 프로그램 등록 1067 에러 댓글2 nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 02-11 19990 0
57 MySQL에서 root 암호(password) 설정 nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 03-03 14300 0
56 MySQL에서 오라클의 rownum 구현하기 nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 02-21 13476 0
55 mysql의 union연산이 빠르다고 합니다. nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 02-20 12408 0
게시물 검색

Copyright © nuno21.net All rights reserved. 상단으로
모바일 버전으로 보기