전체 글 썸네일형 리스트형 PostgreSQL composite types in SQL queries type 을 인자로 받고 return 도 type 으로 하기 type 을 인자로 받기때문에 인자의 갯수가 1개이상 늘어나지 않게 할수 있음 인자를 나중에 추가해도 인자갯수가 늘어나지 않음(오버로딩) 한개의 인자를 여러건 검색할경우가 있으므로 in 조건이 들어올 가능성이 있는 항목은 배열 처리 단점 : type 을 삭제 할수 없음 CREATE TYPE test1m_type AS ( id INTEGER ,timeslice TIMESTAMP ,system_id CHARACTER VARYING(100) ,group_id CHARACTER VARYING(100) ,agent_name CHARACTER VARYING(100) ,svc_name CHARACTER VARYING(100) ,count INTEGER ) .. 더보기 Postgresql 변수 / 바인드 / 매개변수 처리 $1, $2 순서대로 바인딩되고 변수의 이름을 바꿀수 없다.(갯수가 다르면 에러) CREATE OR REPLACE FUNCTION report_get_countries_new (starts_with text , ends_with text = NULL) RETURNS SETOF lookups.countries AS $func$ DECLARE sql text := 'SELECT * FROM lookups.countries WHERE country_name >= $1'; BEGIN IF ends_with IS NOT NULL THEN sql := sql || ' AND country_name 더보기 [postgreSQL] Function 구조 postgreSQL에서는 Function과 Store Procedure의 구분이 없다. - 대략적인 구조 CREATE OR REPLACE FUNCTION 함수이름 (파라미터명 파라미터타입, ....) RETURNS 리턴타입 // RETURN 타입이 테이블일 경우 TABLE(컬럼명 컬럼타입, ....) LANGUAGE 사용언어 [COST 최대사용자원(숫자임)] [VOLATILE, STABLE, IMMUTABLE] // 택1, Function수행에 필요한 Query실행 시 최적화와 관련된 부분.. AS [$[함수의 정의를 지칭할 변수명]$] //함수정의 DECLARE // 변수 선언 및 정의 변수명 변수타입, .... BEGIN // 로직시작 [ IF 조건문 THEN 로직 ELSE 로직 END IF; ] [.. 더보기 PostgreSQL 비 결정적 변수에 대한 실행 계획 변수 v_id 값이 공백인 경우와 공백이 아닌 경우에 따라 실행 계획이 달라져야 하는데 SQL Server 의 경우 실행 계획 재 사용을 위해 2가지 상태의 실행 계획을 동시에 가지고 있는다 두 가지 모두 가지고 있는다는 의미는 변수 값이 공백이 아니면 or 절 이후 쿼리는 필요 없으나 실행 계획에 포함되어 있어 조회를 하게 된다. 그러나 PG 의 경우 실행계획을 재활용 하지 않기 때문에 결정된 변수의 값에 따라 플랜을 만들므로 SQL Server 와 같은 성능 이슈는 발생하지 않는다. CREATE OR REPLACE FUNCTION get_test1m ( v_id character varying, v_system_id character varying ) RETURNS TABLE ( id integer,.. 더보기 SQL Server USE HINT( 'hint_name' ) 파라미터 스니핑 이슈를 해결하기 위한 방법중 하나로 평균 통계를 바라보게 하는방법이 있다 USE HINT A 컬럼의 통계를 히스토그램을 보는것이 아닌 평균 통계를 바라보게 하여 플랜 수립 SELECT * FROM TEST WHERE A = @A OPTION(USE HINT('DISABLE_PARAMETER_SNIFFING')) OPTIMIZE FOR 은 @SEQ 값을 10000의 값으로 실행계획은 수립한다. DECLARE @seq int = 10 select count(*) from TEST1M where seq < @seq option(optimize for(@seq = 10000)) 실행 계획 그외 통계조작, 통계 갱신등 몇가지 방법이 더 있다. 아래는 USE HINT로 사용 가능한 힌트 리스트 적용.. 더보기 SQL Server 통계 예상 행수 산출 방식의 변화 다중 컬럼 컬럼 통계가있는 경우, 카디널리티 추정치는 다음과 같이 다른 모델에서 계산됩니다. SQL Server 7 - 2012 (레거시 CE) : 레거시 카디널리티 평가 기는 다중 열 통계를 활용하고 열 조합에 대한 '모든 밀도'값을 가져와 테이블의 총 행 수로 곱합니다. SQL Server 2014 : SQL Server 2014 RTM에 도입 된 새로운 CE는 다중 열 통계를 사용하지 않으며 개별 단일 열 통계와 함께 지수 기부를 사용합니다. SQL Server 2016 : SQL Server 2016 에서 향상된 기능이 추가되었으며 CE 모델 버전 130은 열의 조합에 대해 '모든 밀도'값을 사용하고 테이블의 총 행 수로 곱하는 다중 열 통계를 다시 사용합니다 . SQL Server 2014 CE.. 더보기 스마트 스토어 open api 토큰 생성 C# 버전 스마트 스토어 open api c# 버전의 샘플 코드는 제공하지 않고 있다 Bcrypt 는 nuget 에서 다운로드(BCrypt.Net-Next) https://apicenter.commerce.naver.com/ko/basic/main 네이버 커머스API센터 커머스API를 활용해서 다양한 아이디어로 새로운 기회를 잡아보세요. apicenter.commerce.naver.com 전자서명 커머스API는 개발사의 인증 토큰 발급 요청 시 직접 클라이언트 시크릿 값을 전달하지 않고 전자서명(signature)을 생성 후 전달하는 방법으로 클라이언트 시크릿 탈취에 대해 강화된 보안을 제공합니다. 전자서명 생성 시에는 개발사에 미리 제공한 다음의 정보를 사용해야 합니다. client_id: 클라이언트 ID cli.. 더보기 SQL 쿼리 들여쓰기 추천 회사에서 쓰는 들여쓰기 프로그램입니다. 용량도 작고 실행도 빨라 몇년째 다른 프로그램을 찾아본적이 없습니다. .NET 2.0 설치 되어 있어야 실행 됩니다. (자동 설치됨) 플러그인 버전은 최신 버전 업데이트 안되어 있는듯 합니다. 오류나네요~ 출처 -> http://architectshack.com/PoorMansTSqlFormatter.ashx#Download_15 더보기 이전 1 2 3 4 다음