2011-02-08 4 views
0

웹 프로젝트에서 10-15 개의 행이있는 테이블의 인덱스 열에 대해 SELECT SQL 쿼리를 수행합니다.ASP.net 캐시 남용?

이 쿼리를 서버 메모리에 캐시하는 것이 좋은지 묻고 싶습니다. 인덱스 된 테이블에 대한 SELECT가 가볍고 빠르며 복잡하지 않습니다. 나는 많은 것들 (4GB) 주위에 메모리를 캐시하고 나는 이런 간단한 쿼리를 캐싱하고 싶지 않다.

내 질문은 캐시 된 데이터를 가져 오는 것에 반대하는 경우이 쿼리의 성능에 미치는 영향입니다.

+2

캐시에 4GB의 데이터가 있습니까 ?? –

+0

@Mitch 예 Microsoft Commerce Server 2007 내부 캐시 및 거대한 제품 카탈로그 :/ – Spyros

+0

데이터베이스가 15 개 밖에없는 색인 된 테이블인데, db 서버가 있다고 가정 할 때 쿼리는 15-50 밀리 초를 넘지 않아야합니다. 네트워크상의 로컬. 이 15 개의 행을 캐싱하는 것은 큰 문제가 아닙니다. 대답하는 것은 쉬운 질문이 아닙니다. 두 가지 옵션 모두 성능을 테스트하고 자신에게 맞는 것이 무엇인지 확인해야합니다. 쿼리가 번개는 빠르지 만 1 초에 100 번 수행하면 캐싱해야합니다. – e36M3

답변

2

이 데이터가 캐시에서 실제로 차지하는 공간은 너무 작아서 거의 중요하지 않은 것처럼 보입니다. 총 캐시 공간이 4GB라면이 쿼리가 얼마나 많은 양을 차지할 수 있습니까? 엄청나게 보수적 인 가정을하고 1MB의 공간을 말합시다. 1MB는 4GB의 0.025 %입니다.

또한 원하는 경우 CacheItemPriority를 ​​사용하여 .NET 캐시에 입력 할 때이 데이터에 우선 순위를 낮게 지정할 수 있습니다. ASP.NET CacheItemPriority