2011-08-13 1 views
0

나는 다음과 같은 구조 (Test라는) 정말 간단한 InnoDB의 테이블과 몇 가지 테스트를하고 있어요 : 사용자 아이디에이노 이상한 공연

Id int(10) unsigned NOT NULL AUTO_INCREMENT 
UserId int(10) NOT NULL 
Body varchar(512) COLLATE utf8_unicode_ci NOT NULL 
CreatedAt datetime NOT NULL 

하나의 추가 인덱스 :

KEY Idx_Test_UserId (UserId) USING BTREE 

내가 시도 이 쿼리를 실행하려면 ...

... 가끔 작업이 몇 밀리 초 bu 어떤 다른 시간에는 약 1 초가 걸립니다.

저는이 특정 테이블에 대한 테스트를 수행하는 유일한 사람입니다. 실제로 그러한 실행 시간 차이가 있다는 것을 이해하지 못합니다.

마지막으로, MyISAM 테이블에서 동일한 테스트를 수행 할 때 어떤 문제도 없습니다.

+0

OS 및 MySQL 버전은 무엇입니까? – Mchl

+0

내 OS는 MySQL v5.5를 사용하는 Window 7입니다. – user257938

+0

은 http://serverfault.com/에 속합니다. 시스템 관리자 및 데스크톱 지원 전문가를위한 Q & A – Mchl

답변

1

InnoDB는 기본적으로 AUTOCOMMIT 모드에서 작동합니다. 즉, 모든 삽입은 디스크에 두 개의 쓰기 작업이 필요합니다. 컴퓨터에 디스크 드라이브가 하나만있는 경우에는 가끔씩 조금 기다려야 할 수도 있습니다. 또한 AFAIR InnoDB는 Windows의 디스크에 기록하는 데 약간의 성능 문제가 있지만 이전에는 1보다 높은 동시성이 필요하다고 생각했습니다.

+0

내가 말하지 않은 것은 간단한 SELECT 문으로 실행 시간 문제 발생합니다 ... – user257938

+0

나는이 문제를 http://serverfault.com/ – Mchl

+0

에게 가져가는 것이 더 좋을 것이라고 생각합니다. 시간을 내 주셔서 감사합니다. – user257938