문제

안녕 수 있는 몇 가지 알려 왜 우리가 만든 다른 테이블을 위한 공간 인덱스 및 데이터입니다.

도움이 되었습니까?

해결책

별도의 테이블 스페이스에 인덱스와 테이블을 유지하면 성능이 향상된다는 것은 광범위한 믿음입니다. 이것은 이제 많은 존경받는 전문가들에 의해 신화로 간주됩니다 ( 이것은 Tom Thread를 묻습니다 - "신화"를 검색합니다.), 그러나 오래된 습관이 열심히 죽기 때문에 여전히 일반적인 관행입니다!

제 3 자 편집

AskTom에서 추출 : "인덱스 테이블 스페이스" Oracle 버전 8.1.6의 경우 2001 년부터 질문

  • 자신의 테이블 스페이스에서 인덱스를 유지하는 것이 여전히 좋은 생각입니까?
  • 이 억제 성능이 있습니까? 아니면 회복 문제가 더 많습니까?
  • 대답은 하나의 플랫폼마다 다릅니 까?

응답의 첫 번째 부분

Yes, no, maybe.

The idea, born in the 1980s when systems were tiny and user counts were in the single 
digits, was that you separated indexes from data into separate tablespaces on different 
disks.

In that fashion, you positioned the head of the disk in the index tablespace and the head 
of the disk in the data tablespace and that would be better then seeking 2 times on the 
same disk.

Drives back then were really slow at seeking and typically measured in the 10's to 100's 
of megabytes (if you were lucky)


Today, with logical volumes, raid, NN gigabyte (nn is rapidly becoming NNN gigabytes) 
drives, hundreds/thousands of concurrent users, thousands of tables, 10's of thousands of 
indexes - this sort of "optimization" is sort of impossible.

What you strive for today is to be able to manage things, to spread IO out evenly 
avoiding hot spots.

Since I believe all things should be in locally managed tablespaces with UNIFORM extent 
sizes, I would say that yes, indexes would be in a different tablespace from the data but 
only because they are a different SIZE then the data.  My table with 50 columns and an 
average row size of 4k might belong in a tablespace that has 5meg extents whereas the 
index on a single number column might belong in a tablespace with 512k or 1m extents.

I tend to keep my indexes separate from the data but for the above sizing reason.  The 
tablespaces frequently end up on the same exact mount points.  You strive for even io 
across your disks and you may end up with indexes and data on the same devices. 

다른 팁

그것은 감각에서 80 년대 때가 있지 않은 많은 사용자 및 데이터베이스 크기가 너무 큽니다.그 시간에 유용을 저장하는 인덱스 테이블에서 다른 육체적인 볼륨입니다.

지금은 논리 볼륨 raid 그리고 그것을 저장할 필요는 없지 인덱스 테이블에 다른 테이블스페이스.

그러나 모든 테이블스페이스이어야 합 로컬로 관리하는 유니폼을 확장 크기입니다.이러한 관점에서는 인덱스에 저장해야 합니다 다른 테이블스페이스 테이블로 가진 50 열에 저장할 수 있는 테이블스페이스로 5Mb exteds 크기 때 테이블스페이스는 인덱스에 대한될 정도로 512Kb 확장 크기입니다.

  • 성능입니다.그것에서 분석해야한 경우.나는 생각을 유지하는 모든 toghether 를 하나의 테이블스페이스가 다른 신화다!그것이 충분해야한 스핀들,충분히 lun 의 돌 큐에서 운영 체제입니다.누군가가 생각하는 경우를 만드는 한 테이블스페이스분과 같은 다음과 같은 테이블스페이스 없이 고려하여 다른 모든 요소,수단 또 다른 신화.따라 달라집!
  • 고 Avalilability.를 사용하여 별도의 테이블스페이스 향상시킬 수 있는 높은 시스템의 가용성 경우에는 어떤 파일 corrution,파일 시스템 손상,블록상입니다.는 경우 문제 oc cures 이에 인덱스 테이블스페이스가 있 achance 복구를 할 온라인 그리고 우리의 응용 프로그램은 여전히보기 바람할 수 있습니다.도 참조하십시오: http://richardfoote.wordpress.com/2008/05/02/indexes-in-their-own-tablespace-recoverability-advantages-get-back/
  • 를 사용하여 별도의 인덱스 테이블스페이스,데이터,blob,clobs 결국,일부 테이블 수 있습에 대한 중요 관리 효율성 및 비용을 절감합니다.우리가 사용할 수 있습니다 우리의 저장 시스템 저장하는 우리의 blob,clobs,결국 아카이브를 다양의 층 저장소와의 다른 품질 서비스
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top