은 내가 MySQL의에서 UUID의 1 차 키를 사용하여 성능에 관한 온라인 기사의 몇 읽었습니다.비 순차 (예 : UUID/GUID) 데이터가 인덱스 성능을 저하시키는 이유는 무엇입니까? 그들이 또는-에 대한이 비 순차적 데이터를 인덱스 성능 아파한다는 생각인지, 그리고 공통 주제 -
https://blog.codinghorror.com/primary-keys-ids-versus-guids/
생성 된 GUID는 최적의 성능을 위해 부분적으로 연속되어야
https://www.percona.com/blog/2014/12/19/store-uuid-optimized-way/
UUID 필드를 재정렬하는 방법을 정리 UUID를 도시 한 후에 (그것을 사용하는 기능을 만들기 성능을 획기적으로 향상 시킴)
그러나, 나는 비 순차적 데이터가 B-TREES, HASHES, CLUSTERED 인덱스과 같은 인덱스에 어떻게 영향을 미치는지 간단하게 이해할 수 없습니다.
그래서 문제는 '비 순차적'하지만 '비 연대 기적'이 아니다. – EJP
@EJP - 어느 쪽이든 - 나는 "다음 키가 어디에서"무작위 "인지를 선호하지 않습니다. 다른 경우가 있습니다. 그것은 잘 작동합니다. 저는 10 개의 위젯을 가지고 있으며 각각에 대해 새로운 행을 무작위로 로깅하고 있습니다. INSERT는 10 개의 "핫스팟"사이를 뛰어 넘고 각각에 몇 개의 행을 삽입합니다. 10 핫스팟은 괜찮습니다. 1 핫스팟 (auto_inc)은 정상이지만 백만 점이 너무 "무작위"입니다. –
진짜 질문은 "내 다음 작업에서 캐시에 필요한 블록을 찾을 수 있습니까?"입니다. 가능한 블록이 적 으면 캐시에있을 확률이 높습니다. –