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 29381 게시물 읽기
No. 29381
인덱스 문제좀 봐주세요.
작성자
VV
작성일
2009-10-29 15:36ⓒ
2009-11-06 09:50ⓜ
조회수
5,721

`board_no` int(20) unsigned NOT NULL,

`comment_no` int(20) unsigned NOT NULL AUTO_INCREMENT,

`parent` int(20) unsigned DEFAULT NULL,

PRIMARY KEY (`comment_no`),

KEY `A11C_I` (`board_no`),

KEY `FK_A11C` (`board_no`),

KEY `FK_A11P` (`parent`),

CONSTRAINT `FK_A11C` FOREIGN KEY (`board_no`) REFERENCES `board_a11` (`board_no`) ON DELETE CASCADE ON UPDATE NO ACTION,

CONSTRAINT `FK_A11P` FOREIGN KEY (`parent`) REFERENCES `board_a11_comment` (`comment_no`) ON DELETE CASCADE ON UPDATE NO ACTION


board_no는 겹치는 값이있어서 PRIMARY KEY로는 지정못하고요.

그래도 인덱싱이 필요해서 써줬는데요.



  KEY `A11C_I` (`board_no`),

  KEY `FK_A11C` (`board_no`) //외래키를 위해서 써줬는데요.


그럼 이미 KEY `FK_A11C` (`board_no`) 이녀석이 존재하기때문에. KEY `A11C_I` (`board_no`),를 생략해도 외래키 관련이 아니더라도 인댁싱이 될까요?





결론

테이블에서 KEY `A11C_I` (`board_no`),이거 빼도 외래키 관련이 아니라 그냥 셀릭트때도 board_no가 인덱싱이 될까요? (board_no는 겹치는값이있어서 PRIMARY KEY가 아니에요.)



추가질문

no같은경우는 select할때 항상 desc로 부를건데요 이걸 에초에 order by하기전부터 역정렬을 해버리면 편하지 않을까해서 index를 선언할때 desc로 선언 가능한가요?

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

안녕하세요 박성원입니다. 


문의 하신 요점을 아래 자세히 적어주셨네요 ㅋ


첫번째로 FK를 설정하면 자동으로 index가 생성이 됩니다. 즉, 별도로 index를 잡아 줄 필요가 없다고 알고 있는데요 테스트는 못해봣네요 explain select로 테스트 한번 해보시는게 좋을 듯합니다. 

두번째로 order by의 형태를 desc로 설정하는 방법은 있습니다. 

방법은 상당히 간단합니다. 

alter table TableName order by ColName [ASC | DESC] 

이렇게 하면 정렬이 반대로 됩니다. 

그러나 문제는 alter이후의 데이터들은 기본정렬인 ASC로 입력이 되므로 좀 반쪽자리 기능이지요 ^^;;
수정안하는 기간단위의 백업, 통계 데이터에선는 limit와 함께 상당히 유용한 팁이므로 참고하시기 바랍니다.

박성원(darkancia)님이 2009-10-30 12:04에 작성한 댓글입니다.
이 댓글은 2009-11-06 11:04에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
29384mysql library 호환성문제.. [2]
정대원
2009-10-30
5862
29383소스에러좀 찾아주세요... [1]
이희현
2009-10-30
9222
29382MySQL영역에서 DB Monitoring Solution이 필요한가요? [1]
EPG
2009-10-30
5690
29381인덱스 문제좀 봐주세요. [1]
VV
2009-10-29
5721
29380테이블간 필드값 복사 한방쿼리로 가능할까요? [1]
BigBug
2009-10-29
6149
29379날자를 기억할때 [1]
VV
2009-10-29
5503
29378속도가 느립니다. 인덱스를 어떤방법으로 설정해야 하는지?
임기섭
2009-10-27
5837
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.023초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다