2009-11-20 3 views
9

저장 프로 시저에서 사용하는 것이 더 좋습니다 : 임시 테이블 또는 메모리 테이블?MySQL 임시 테이블과 저장 프로 시저의 메모리 테이블

이 테이블은 보고서의 요약 데이터를 저장하는 데 사용됩니다.

개발자가 알아야 할 트레이드 오프가 있습니까?

CREATE TEMPORARY TABLE t (avg (double)); 

또는

CREATE TABLE t (avg (double)) ENGINE=MEMORY; 
+0

메모리는 오라클에서 임시 GLOBAL 동일? – zloctb

답변

7

둘 중 하나는 보고서 용 임시 테이블을 사용하고 싶습니다. 당신이 당신이 다른 사람의 데이터를 사용하지 않을 것입니다 있는지 확인하기 위해 모든 시간을 절단해야 할 것, 그래서

메모리 테이블은 사용자 세션에 걸쳐 & 연결 데이터를 보유하고 있습니다. 필요에 따라 메모리 테이블을 유지 관리하는 데 필요한 사항을 입력했다고 가정 할 때 임시 테이블은 유지 관리 관점에서 보면 조금 안전합니다.

4

임시 테이블은 세션의 기간 동안 존재합니다. Engine = Memory로 선언 된 테이블은 사용자 세션/연결을 통해 지속되지만 MySQL 인스턴스가 존속하는 동안에 만 존재합니다. 따라서 MySQL이 다시 시작되면 테이블이 사라집니다.

8

왜 두 가지 옵션 만 사용할 수 있습니까? 다음과 같이 할 수 있습니다 :

CREATE TEMPORARY TABLE t (avg double) ENGINE=MEMORY; 

메모리 엔진이 실제로 여기에 사용되는지 확인하는 방법은 잘 모르겠지만 작동합니다.

MySQL의에서
관련 문제