답변을 검색했지만 찾지 못했습니다. postgres에서 테이블 이름으로 선택한 값을 사용합니다
는 그래서 난, 유형 이름을 보유하고users
말을 할 수있는 테이블을
types
CREATE TABLE types
(
type_id serial NOT NULL,
type_name character varying,
CONSTRAINT un_type_name UNIQUE (type_name)
)
있어 - 이것은 해당 테이블 users
의 이름입니다. 이 디자인은 약간 추한 일이지만 사용자가 자신의 유형을 만들 수 있도록 만들어졌습니다. (이 acheve 더 나은 방법은 무엇입니까?)
는 지금은이 같은 쿼리를 수행 할 :
select type_name, (select count(*) from ???) from types
각 유형의 모든 개체 유형의 이름과 수의 목록을 얻을 수 있습니다.
이 작업을 수행 할 수 있습니까?
위대한! 나는이 함수에서 무슨 일이 일어나는지 이해한다 :) 나는 함수없이 이것을 할 수 있다고 생각했다. ** 모든 유형에 대한 여분의 테이블 **은 성능상의 이유로 필요합니다. 작은 테이블은 더 효과적으로 색인 될 수 있습니다. afaik – k102
@ k102 : BTW, 인덱스는 큰 (또는 거대한) 테이블에서 잘 작동합니다. 그것이 그들이 구축 한 것입니다. 작은 테이블의 경우 순차적 읽기는 인덱스를 사용하는 것보다 빠르다. –