데이터를 찾는 과정이 필요한 모든 일 (Select, Update, delete, Insert 모두) 에 영향을 준다. 데이터를 빠르게 찾기 위해 필요하다. 인덱스 추가시 인덱스 관리 비용(처리하는 일, 인덱스 관리용 공간 필요) 인덱스는 항상 타는게 아니다. 인덱스를 탈 때 통계를 참고하는데, 이 통계가 최적 수행 방법을 산출하려면, 통계가 최신에 가까워야 좋다. 하지만, 통계 갱신에는 비용이 존재하므로, 적절한 수위를 유지하는 것이 좋다. 인덱스가 걸려 있는 경우에는 정렬이 필요하다. 1Page가 꽉 찬 상태에서, 데이터가 중간 삽입 될 경우, 들어갈 데이터를 포함해 데이터를 반으로 쪼개서 두개의 페이지에 넣는다. 이 것을 페이지 분할이라 부른다. 페이지 분할이 자주 일어날꺼라 생각되면 인덱스 생성시..
1. 인덱스 컬럼의 변형 select * from table where LOWER(name) ='word'; select * from table where idx - 1 = 5; 이 처럼 인덱스에 변형을 가하게 되면, DBMS가 인덱스를 이용하지 않는다. 2. NOT 또는 IN 연산자 사용 NOT일 경우 무조건 인덱스를 안타는 것이 아니다. NOT일 경우에도 인덱스를 타긴 타지만, 일반적으로, NOT에 사용된 값이 아닌 데이터의 비율이 높은 경우가 많기 때문에 인덱스를 타지 않는 경우가 많다. 마찬가지로 IN일 경우에도, IN에 포함된 데이터들의 비율이 매우 높다면 FULL SCAN을 하는 것이 낫다고 DBMS가 판단하면 인덱스를 타지 않는다. 3. 와일드 카드 LIKE문장에서 범위를 전체를 지정시 se..
- Total
- Today
- Yesterday
- MS-SQL
- EasyExec
- c언어
- 루비
- SQLite Spy
- 루비 온 레일즈
- 게임데브포에버
- perfmon
- 게임개발포에버
- Ruby on Rails
- 엘키
- 리버스 엔지니어링
- TraceRoute
- NDC2013
- svn
- 디자인 패턴
- Rails
- CppSQLite
- ruby
- RoR
- ftp
- 멀티스레드
- EzShortcut
- 조엘 온 소프트웨어
- 디버깅
- 좋은 프로그래머
- SDL
- 바로가기 프로그램
- 임백준
- TDD
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |