공유 호스트에 많은 방문자가있을 것으로 예상되는 웹 사이트가 있습니다. 나는 독서를 위해 데이터베이스를 필요로하지 않는다. (페이지에 표시된 모든 것은 PHP로 하드 코딩되어있다.) 그러나 사용자가 입력하는 데이터를 저장하고 싶다. 사실, 필자는 이후에 통계 분석을하기 위해 저장합니다 (내 로컬 컴퓨터에서 다운로드 한 후).INSERT를위한 최상의 MySQL 테이블 구조?
그래서 내 두 가지 질문 :
는 MySQL은 이에 대한 실행 가능한 옵션인가? PHP/MySQL을 사용할 수있는 공유 호스팅에서 실행하기위한 것이므로 많은 다른 멋진 패키지를 사용할 수는 없지만 예를 들어 파일을 쓰는 것이이 목적에 더 좋을 것입니다. 필자가 아는 한, 파일에 줄을 추가하는 것은 거대한 파일에 대해 상대적으로 복잡한 작업입니다. 반면에 MySQL 데이터베이스에 동시에 연결되는 100 명 이상의 사용자는 아마도 값이 싼 INSERT 쿼리를 수행하는 경우일지도 모르는 큰로드입니다.
MySQL이 좋은 옵션 인 경우 어떻게 테이블을 최적으로 구성해야합니까? 현재 나는 InnoDB 테이블 하나를 가지고 있는데, 자동으로 증가하는 기본 키
id
(물론 데이터를 저장하는 컬럼 옆에 있음)이있다. 이것은 일반적인 목적의 구성입니다. 그래서 아마도 테이블에 쓰고 읽을 필요가있을뿐 아니라 더 최적화 된 방법이있을 수도 있습니다.
편집 : 나는 주로 출시됩니다으로 웹 사이트가 곧 바이러스 성 갈 것을 두려워, 그래서 사용자가 매우 짧은 시간 내에 방문 할 것으로 예상. 물론 과부하 된 데이터베이스로 인해 입력 한 데이터를 잃어 버리는 것을 원하지는 않습니다.
쓰기 전용 데이터의 ** 최상의 ** 데이터 구조는 아무 것도 아닙니다. 차선책은 플랫 파일이 될 것입니다. 즉, 처리를 유지하는 글에 대해 정말로 걱정하는 경우입니다. 나는 대부분의 시간 동안 그것이 중요하지 않을 것이라고 상상한다. – PaulProgrammer
@PaulProgrammer - MySQL BLACKHOLE 스토리지 엔진을위한 것이 아닌가? :) –
실제로 쓰는 것이 아니라 통계 분석을 위해 읽어야합니다. – Barmar