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 22969 게시물 읽기
No. 22969
조인을 많이 하는 테이블 구조
작성자
김준용(house2013)
작성일
2005-01-16 21:04
조회수
2,172

안녕하세요

조인을 많이 하는데 거기에 검색을 해야 합니다.

리스트를 불러 온다거나 하는것은 문제가 안됩니다만 ... 구조적으로 테이블을 어떻게 해야 할지 난감합니다.

 

저희는 전국 체인이 주 업무입니다.

B2B 와 B2C 를 동시에 진행하고 있습니다.

2가지 경우의 수가 존재 합니다.

1.회원이 주문을 하면 배달할 상점을 연결해 주는 시스템

2.상점이 상점에 배달을 요청 하는 경우

 

지금 리스트에서 총 아래의 4개의 테이블을 조인하여 리스트를 불러옵니다.

1.회원

2.주문상품

3.주문

4.상점

 

그리고 검색 조건은

1.회원의 이름

2.상품 이름

3.주문 일자 / 주문 상점 / 배달 상점
4.상점 이름 / 상점 코드

이런식의 리스트를 불러 오는데 explain 을 해보니 25,000 개의 데이터가 있는데 검색시에 230만개의 row 를 불러 오더군요 (using where)

 

난감하네요

구조적인 문제 인것 같습니다

조언 부탁드립니다.

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

이런식의 질문은 문제가 있네여... table 구조도 모르는 상태에서 어떻게 답을 합니까... 경험에 의하여 일단 댓글을 올립니다.

 

1.회원이름조건 - 회원table을 검색하여 id를 이용하여 2,3,4번 table을 join하면 될듯합니다.

2. 상품이름 - 상품 table에서 id를 가져다 주문상품 table과 먼저 join하여 나온 결과와 1,3,4를 join하면 될 듯 합니다.

3. 주문일자 - 주문 table을 검색하여 회원id와 상품id,상점코드로 1, 2, 4, table을 join... 주문상점/배달상점도 같은방식으로 해보세여

4. 상점이름/상점코드 - 상점 table을 검색하여 주문 table과 join하고 그결과와 1, 2번 table과 join...

 

올리신 내용으로 보아선 일단 위처럼 생각됩니다....

table의 구성정보를 모르니 짐작으로 할 수 밖에여 ^^;;

단, sub-query가 안되니 이부분은 연구를 좀 하셔야 할 듯 합니다.

김재석(kth1203)님이 2005-01-17 09:47에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
22972mysql_connect() 를 대체할 수 있는 명령어를 알려주세요.(v 4.1.9) [2]
최성록
2005-01-17
1215
22971mysql 에서 숫자 저장시... [1]
김희석
2005-01-17
1172
22970백업관련 문의 드립니다. [1]
최정민
2005-01-17
1379
22969조인을 많이 하는 테이블 구조 [1]
김준용
2005-01-16
2172
22968다음 같은 경우는 MySQL 라이센스 문제가 어찌되나요 ? [4]
초보자
2005-01-16
1984
22967입력할때 한글이..
caroline
2005-01-16
964
22966일본어 특수문자 문제 입니다.ㅠㅠ
정대현
2005-01-16
1203
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다