database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 31202 게시물 읽기
No. 31202
[속도문제] 증가키 구조 테이블 레코드 삭제 or 플레그 비트??
작성자
권순환(soonani82)
작성일
2018-12-04 19:21ⓒ
2018-12-05 09:29ⓜ
조회수
2,100

[속도문제] 증가키 구조 테이블 레코드 삭제 or 플레그 비트??

안녕하세요. 오랜만에 찾게되었네요. 다름이 아니오라. 혹시나 모를 속도문제 때문에 문의 드립니다.

조금은 특이한 쇼셜네트워크를 만들고있습니다. 과제수준은 넘어선 투자를 받고 있는 상황인데 프로토타입을 개발중인다. 

그래도 최소한 1000만건정도의 데이터를 들어올것으로 예상됩니다.

 

mysql에서 테이블에 10억건의 데이터가 있다고 가정하고

주기적인 인서트와 삭제or 히든(플레그 비트) 해야될  테이블이 있다고 가정했을경우! (인서트 99%: 딜리트1% 비율 - 페이스북에 글썻다가 삭제하는것 생각하면됨)

 

어떤식으로  시스템을 만드는게 더 속도면에서 효율적인 건가요?

 

1. 인서트 and 인터스(중복무시옵션) and 삭제 : mysql 삭제시 디스크 순차저장을 하기 때문에 데이터가 밀려서 이동되는 경우가 발생하는 경우를 들음.

2. 인서트 and 인서트(중복무시옵션) and 플레그비트(1인경우 삭제)

 

- 여러가지 측면에서 조언부탁 드립니다.

1. 조회 할 경우는 삭제가 좋다? 플레그 비트를 사용하여 조회하면 조건절에 매번 넣어줘야함으로 불편하다?

2. 삭제가 많이 일어 날경우 데이터의 이동이 발생하여 i/o 무리가 가서 실시간 서비스중에 큰 부담이 될수있다?

3. 주기적으로 발생하는 인서트와 딜리트의 양에 따라서 다르다?

   (이경우 딜리트보다는 인서트가 훨씬많습니다. 99:1 정도로 인서트 경우가 많습니다.)

4. 어떻게 하든 별로 상관없다?

5. mysql특성상 삭제는 되도록 피해야한다?

 

많은 조언 부탁드립니다.

 

이 글에 대한 댓글이 총 1건 있습니다.

삭제가 많이 일어난다고 데이터 이동이나 I/O에 무리가 가지는 않습니다.

PK가 클러스터드 Index 역할을 한다는 것만 기억해서(그래서 보통 PK를 자동증가로 잡습니다.)

DB 모델을 잡으시면 됩니다.

데이터 증가량이 많고 과거데이터에 대한 주기적 삭제가 필요한 경우

파티션도 고려하시면 될 것 같습니다.

 

플레그 비트를 사용할 경우는

고객에게는 보이지 않아야 하지만 관리자에게는 보여야 하는 경우 등

사용하시면 됩니다.

박인호(paerae)님이 2018-12-05 10:45에 작성한 댓글입니다.
이 댓글은 2018-12-05 10:49에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
31205join 관련 질문드려요 [2]
hooney
2018-12-13
2237
31204MYSQL 자동형변환으로 인한 조인 조건 문제 [1]
권순환
2018-12-12
2311
31203select table_name쿼리문 질문이요 ㅠㅠ [7]
데베너무어려워요
2018-12-07
2355
31202[속도문제] 증가키 구조 테이블 레코드 삭제 or 플레그 비트?? [1]
권순환
2018-12-04
2100
31201replace 질문입니다. [2]
이기자
2018-11-28
2115
31199count 를 사용하여 그룹 단위로 top n 쿼리 속도 문제 [6]
김경준
2018-11-22
2247
31198MySql 질문드립니다! [1]
SS
2018-11-14
2214
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.048초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다