내가 통지 테이블 (매우 큰 테이블)가, 내가최적의 SQL 솔루션?
1- 3에서 모든 알림을 삭제
2 notification_log 표에 이러한 알림을 삽입 사용자 ID에 대한 모든 알림을 선택 아래의 시나리오 당신의 도움이 필요합니다 알림 테이블
내 생각 :
1 알림 테이블에서 플래그 컬럼을 생성하고 위의 시나리오에서 2 단계와 3 단계를 수행하기에 업데이트 트리거를 만듭니다.
그리기 백업합니다 : 그것은 성능 좋은하지 수 있도록 내가 항상 통지의 대부분을 선택하고 (N) 및 O 트리거 공모
2 위의 시나리오
에게 할 수있는 간단한 SQL 프로 시저를 만들 Draw Backs : 시나리오의 단계가 전체 프로 시저를 커밋하지 못한 경우 롤백합니다.
이 문제를 최적화하는 데 도움을 줄 수 있습니까? 사전
두 가지 별도의 쿼리가있을 수 있습니다. 먼저 로그에 기록되지 않은 모든 알림을 선택하고 두 번째는 로그에있는 모든 알림을 삭제합니다. 적어도 성능을 위해 인덱스를 사용하고 있습니다. 또한, 이미 가지고있는 것은 삭제하지 않습니다. –