mysql index의 order by desc 문제 > Database

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


회원로그인

오늘 57
어제 351
최대 618
전체 453,035
마음을 나누는 인터넷 일기장 - 통플 다이어리
Database

mysql index의 order by desc 문제

페이지 정보

작성자 nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일18-12-17 16:09 조회382회 댓글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 381 0
열람중 mysql index의 order by desc 문제 nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 12-17 383 0
72 mariadb 원격접속 문제 nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 08-29 678 0
71 MySQL #1690 - BIGINT UNSIGNED value is out of rang… nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 09-08 2187 0
70 MySQL ON DUPLICATE KEY UPDATE nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 05-04 4125 0
69 InnoDB 형식의 테이블 nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 07-24 6264 0
68 mysql 대용량처리 nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 07-24 7498 0
67 MySQL FULLTEXT 검색 nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 04-25 9908 0
66 MySQL 문자열 길이 nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 04-25 8993 0
65 [MySQL] Full-Text Search nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 04-08 10880 0
64 mysql euc-kr -> utf-8 변환 nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 04-04 9006 0
63 [mysql] SQL order string as number nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 10-28 8110 0
62 [MySQL] 서브쿼리 - 두 개 이상의 SQL쿼리 조합하기 최고관리자 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 05-14 7372 0
61 MYISAM -> INNODB 변환 nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 10-06 13712 0
60 mysql euckr 을 utf8 로 변경 nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 09-29 13109 0
59 VB MySql 연결 및 한글문제 해결 nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 09-06 15596 0
58 windows 2003 MySQL 서비스 프로그램 등록 1067 에러 댓글2 nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 02-11 20440 0
57 MySQL에서 root 암호(password) 설정 nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 03-03 14616 0
56 MySQL에서 오라클의 rownum 구현하기 nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 02-21 13863 0
55 mysql의 union연산이 빠르다고 합니다. nuno 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 02-20 12769 0
게시물 검색

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