2011-04-05 5 views
1

Postgres에 mySQL에 SQL_CACHE와 같은 기능이 있는지 궁금합니다. 예를 들어 mySQL에서 "SELECT SQL_CACHE Product_ID, Product_Name, Product_Sku FROM Products"와 같은 쿼리를 수행 할 수 있습니다. Postgres에서 비슷한 작업을 수행 할 수 있는지 알고 싶습니다.Postgres + 캐시에서 쿼리 선택

답변

2

PostgreSQL은 shared_buffers 구성 매개 변수에 따라 자동으로 최근에 액세스 한 데이터를 메모리에 캐시합니다. SQL_CACHE 기능은 실제로 필요하지 않습니다. Postgres는 이미 튜플 캐시를 잘 관리하고 있기 때문입니다.

+3

완전히 정확하지 않습니다. 'effective_cache_size'는 Postgre가 관리하는 캐시에 영향을 미치지 않습니다. 플래너에게는 데이터가 이미 파일 시스템 캐시에 저장되는 것과 같은 힌트 만 제공됩니다. 그 값이 클수록 덜 비싼 무작위 검색이 처리됩니다. –

+1

잘못된 매개 변수, PostgreSQL에있는 유일한 캐시는 shared_buffers입니다. –

+0

@ 프랭크. 그것이 내가 너무 빨리 타이핑하는 것입니다. 감사 :-) – Kenaniah

0

MySQL에서 SQL_CACHE는 아무튼 캐시에서 선택하지, query_cache_type에 따라이 문제가 발생합니다 :

  • ON

    : 캐시 SELECT SQL_NO_CACHE로 시작하는 것을 제외하고 모든 캐시 쿼리 결과.
  • 2 또는 DEMAND : 캐시 가능한 쿼리에 대해서만 캐시를 수행합니다 (SELECT SQL_CACHE으로 시작). 다른이 2 설정과 1 또는 SQL_CACHE 어떤 다른 설정과 SQL_NO_CACHE를 사용하여 본질적으로

의미입니다.

이것이 여전히 PostgreSQL에서 필요로하는 것이면 : 아무 생각도하지 않지만이 사실을 분명히해야합니다.