나는 지금 당분간 흉골을 사용했다. 내가 정확히 mnesia:wait_for_tables/2의 개념을 이해하지 못한다고 느낀다고 고백해야합니다. 아래 문서를 인용하면 다음과 같이 나타납니다. mnesia : wait_for_tables/2, 정말 이해합니까?
Some applications need to wait for certain tables to be accessible in order to do지금 개발 한 모든 응용 프로그램에 대해 백엔드 시작시이 함수를 호출해야합니다. 위 문서에서
useful work. mnesia:wait_for_tables/2 hangs until all tables in the Tab List are
accessible, or until timeout is reached.
"Some applications"
컨텍스트는 잘 확장되지 않았으며 내 질문이있는 곳입니다.
이 내 생각이다 :
1이 방법에 대기 내가 개인적으로 생각
2 (Disc_copies의 경우) 디스크가 RAM에 말에서 우리는 mnesia 테이블을로드하는 것을 의미 내 응용 프로그램의 경우 유일한
RAM (ram_copies)
테이블로 구성되어 있습니다, 그럼 내 코드 에서이 방법이 필요하지 않습니다. 자, 나는 내가 단지
disc_only_copies
을 가지고 있다면, 나는 또한이 기능이 필요 없다고 생각하는 것이 옳다.
3. 또한 네트워크에서 mnesia 테이블을로드 할 때 (특히 테이블이 복제 될 때)이 함수가 필요하므로 내 앱이이 테이블을 준비하기 위해 시작시 mnesia를 기다려야합니다. 그러나이 방법은 여전히
disc_copies
유형의 테이블에만 적용되므로 디스크에서 완전히 실행되거나 RAM에서 전체적으로 실행되는 응용 프로그램이 테이블을 대기 및로드해야하는 이유는 무엇입니까?
disc_copies
를이 유형의 데이터가 디스크와 RAM에 복사 함께 할 수있는 뭔가가 있기 때문에 :
질문 : mnesia 테이블 유형을 처리 할 때
도움말 및 검사 내 생각 일반적으로 1, 2, 3이 기능은 필요합니까?
내 테이블이 모두 조각난 경우 (각 부분에 대해이 메서드를 호출하여 mnesia에서 내 앱을 준비 할 수 있도록해야 함) 조각마다 메서드를 호출해야합니까? 메서드는 ATOMIC 또는 Transactional입니다. mnesia 트랜잭션 내에서 호출하면 (즉, 기본 테이블 만 지정하면 mnesia가 모든 테이블 조각을 자동으로로드합니다.)? 내 조각의 표 유형도이 기능과 관련이 있나?