나는 사람들이 항상 높은 쓰기 테이블과 한 번 기록 된 데이터가 거의 항상 업데이트 나 삭제없이 영원히 유지되므로 사용자 세션 및 모든 로그 테이블에서 FK를 사용하지 않는다고 들었다.세션/로그 테이블 키 디자인 질문
는하지만 문제는 나는이 같은 colunms이된다 USER_ID가 activity_id ( SESSION_ID (시스템 활동 조회 테이블에 로그 작업 테이블을 연결하는) 사용자 로그 테이블을 연결 (사용자에게 세션이나 활동 로그를 링크) 부모 세션에서) ... 그리고 더 많은 colunms가 있습니다.
그렇다면 FK를 사용하지 않는다면 어떻게이 콜 럼을 "연관"것입니까? FK없이 테이블에 가입하고 사용자 정보를 얻을 수 있습니까? FK없이 올바른 데이터를 쓸 수 있습니까? 성능에 영향을 주거나 사람들이 방금 말하고 이것이 '아니오'라고 말하면됩니까?
내가 가지고있는 또 다른 질문은 FK를 사용하면 여전히 데이터를 조회 테이블에 연결할 수 있습니까?
모든 테이블에 InnoDB가 있습니다. 웹 사이트는 소셜 네트워크이므로 데이터가 중요합니다. 소셜 네트워크의 로그 테이블 (사용자의 모든 움직임을 추적하므로 로그인 당 사용자 당 추적 세부 정보가 추가 된 최소 150 ~ 200 행을 상상할 수 있습니다.) 따라서 테이블 크기는 커질 것입니다. 새로운 사용자가 가입 할 때 사용자 테이블이 증가 할 것입니다. 새로운 활동이 추가되지 않는 한 활동 테이블은 대부분 읽기 전용이고 거의 업데이트되지 않습니다 – JRayder