읽지않은 게시물의 개수를 알려주고 읽지안은 게시물을 리스트로 보여주는 알림기능을 만들고 있습니다.
A라는 게시물 테이블이 있으면 B라는 체크테이블에 회원아이디와 게시물 인덱스번호를 저장하고
select from A left outer join B on A.idx=B.p_idx and B.id=$_SESSION[mem_id] where B.p_idx is null
이렇게 조인을 했습니다. 문제는 속도가 너무 느립니다.
모든 회원들이 게시글을 볼때마다(중복체크는 해줬습니다) 전부다 B라는 체크테이블에 저장이 되니 B테이블은 레코드수가 급격하게
증가하고 B테이블을 모두 읽어오고 난 후 처리가 되는거 같습니다. 해서 너무 느린데 다른 방법은 없을까요??
체크테이블인 B테이블에
p_idx | id
1 | aaa,bbb,ccc
2 | aaa,ccc,ddd,eee
3 | aaa,ccc,hhh
이렇게 게시글의 인덱스번호를 저장하고 게시글을 본 회원을 한필드에 저장한 후 쿼리로 가능할까요?
보통 이런걸 만들때에는 어떤 방식으로 하는지 알고싶습니다. 도와 주세요..
|