2014-09-01 3 views
1

I에는 구조적 성능 질문이 있습니다.데이터베이스 성능 향상 구조 디자인

웹 사이트를 판매하는 책을 준비 중입니다. 나는 책, 작가, 카테고리 요법을 가지고있다. 나는 사용자에게 약간의 할인을주고 싶다. 그러나이 할인은 책, 카테고리, 저자에 관한 것이고 심지어 사용자에 관한 것일 수 있습니다. 나는 '할인'테이블과 저장 유형에 할인을 저장하고있다. 사람들이 제품을 나열하면 할인도 표시하려고합니다. 내가 할인 테이블 및 제품 테이블에 가입하고 목록에 대한 큰 성능 문제가 각 레코드에 대한 총 할인을 확인하십시오. 이 상황에 대한 제안이 있습니까?

(참고 : 제품 테이블에 할인을 넣고 SQL 작업으로 매일 계산할 수 있지만 그 문제가있는 테이블이 더 많습니다. 할인은 샘플 일 뿐이므로 이러한 문제에 대한 대체 방법을 배우고 싶습니다.)

나쁜 영어로 죄송합니다. 감사합니다.

답변

0

내가 할인 테이블 및 제품 테이블에 가입하고 목록의 성능에 큰 영향을 미치는 각 레코드에 대해 할인을 확인하십시오.

아. 아니요. 우리가 만든 온라인 상점에 대해 10 년 전에 시도한 결과, 메모리에 간단한 캐싱 (모든 제품이 함께 제공되는 상점 제품) (변경시 5 분이 지난 가격 표시)과 출력 캐시 우리가 거의 모든 성능 영향을 완화 할 수있는 비 슈퍼 단순 방식의

명확한 데이터베이스를 만듭니다. 그런 다음 그 위에 똑똑한 아키텍처를 만듭니다. 모든 항목이 데이터베이스에서 항상 쿼리되어야하는 것은 아닙니다.

+0

그건 해결책이 될 수 있지만 그 정도면 충분합니까? 당신이 큰 데이터를 위해 그것을 사용하고 그 성능에별로 문제가 없다고한다면, 나는 당신이 말하는 것처럼 할 것입니다. – kocakmstf

+0

큰 데이터를 정의하십시오. 나는 더 큰 상점을 위해 64GB 웹 서버를 넣거나 메모리 캐싱 서버의 캐스케이드로 밀어 넣는 데 아무런 문제가 없다. 문제는이 시나리오에서 유연하거나 빠르며 캐시 만이 둘의 조합을 처리 할 수 ​​있기 때문에 유일한 해결책입니다. 이 경우 일부 메모리를 낭비하는 것은이 경우 유효한 해결책입니다. – TomTom