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 30341 게시물 읽기
No. 30341
초보 DB 설계중인데 조언좀 부탁드립니다.
작성자
장대찬(jang9129)
작성일
2012-10-27 22:53ⓒ
2012-10-30 12:04ⓜ
조회수
8,668

 

안녕하세요.

DB 배우면서 간단하게 설계 중인데 여러가지 생각 때문에 고민하다가 질문 올립니다.

테이블은 item, chat 두개이구요

해당 item 페이지에서 글을 남기면 chat테이블에 등록됩니다.

no : int auto_increment primary key

parent : int << item의 NO와 일치합니다.

usrl : int << 유저 고유번호입니다.

text : varchar << 입력된 텍스트 입니다.

 

현재는 해당 item 페이지를 읽을 때 두 테이블에서 따로 데이터를 읽어오는 구조입니다.

chat을 로딩할때는 select * from chat where parent = 4 와 같은 쿼리를 이용합니다.

 

여기서 질문이 있는데요, chat에 데이터가 계속 축적되서 몇십만건이 쌓여있다고 할 때

페이지를 로딩할 때마다 테이블 전체의 parent를 비교해서 해당 text를 로딩해야 하는데

이때 부하나 시간적인 측면에서 낭비가 심할 것 같아요.

index를 쓰자니 데이터 입출력이 잦은 테이블이라 오히려 손해일것 같기도 하구요..

 

이런 상황에서는 어떻게 설계를 해야 할까요?(쿼리 측면에서도..)

고수님들.. 한수 부탁드립니다!!

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

index 사용을 하는 것이 효과적일 것으로 보입니다.

(사용환경 고려해 테스트 해 보세요)

 

그리고 컬럼이름을 수정하시는 것이 나중에 코드 파악에 쉽습니다.

item.no -> item_no

chat.no -> chat_no

parent -> item_no

usrl -> user_no

이런식으로 사용할 것을 권해 드립니다.

박인호(paerae)님이 2012-10-30 18:26에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
30344이 쿼리문 더 단순하게는 안되는 건가요? [1]
임꺽정
2012-10-31
8205
30343데이터베이스에 사진을 넣고 싶은데 [1]
초보자
2012-10-30
8755
30342mssql데이타를 mysql데이타로이전 이렇게는안되는건가요 [1]
김길동
2012-10-30
8141
30341초보 DB 설계중인데 조언좀 부탁드립니다. [1]
장대찬
2012-10-27
8668
30340쿼리문 잘 아시는분 좀 알려주세요ㅠㅠ [1]
김명헌
2012-10-27
8931
30339select 문에서 데이터 중 일별 마지막 데이터만 가져오기 [1]
임정미
2012-10-24
11291
30338고등학교 학적관리프로그램 db설계 문의합니다. [1]
이정민
2012-10-22
8616
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다