일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 자바 야구게임
- 전체텍스트
- Full text
- full text indexing
- 상속예제
- 페이징
- Random
- 다운캐스팅
- 야구게임
- 업캐스팅
- angular2
- 로또
- 25가지 효율적인 sql작성법
- 가변인자
- 이클립스
- IBatis procedure
- 추상클래스
- Login with OAuth Authentication
- 상속
- Validations
- 다형성
- 전체
- 스프링
- 자바
- while
- jquery
- 단축키
- 형변환
- 전자정부
- Today
- Total
목록전체 글 (448)
nalaolla
[MS-SQL] ROLLUP 과 CUBE 의 차이 USE TEMPDBIF EXISTS (SELECT * FROM SYSOBJECTS O WHERE O.NAME LIKE '#T_INCOME%') BEGIN DROP TABLE #T_INCOME END ELSE BEGIN CREATE TABLE #T_INCOME( INC_JISA CHAR(4) NOT NULL , INC_JIJUM CHAR(4) NOT NULL , INC_CENTER CHAR(5) NOT NULL , INC_DATE CHAR(8) NOT NULL , INC_AMT INT CONSTRAINT PK_INCOME PRIMARY KEY(INC_JISA , INC_JIJUM , INC_CENTER , INC_DATE)) INSERT INTO #T_IN..
ROLLUP과 CUBE는 함수로써 GROUP BY 절에 사용되어 추가적인 그룹핑 정보를 표현할 수 있다. ROLLUP: 그룹핑된 결과에 그룹별 합계 정보를 추가한다. CUBE: 그룹핑 된 컬럼의 모든 가능한 조합에 대한 합계 정보를 추가한다. 사용예: GROUP BY ROLLUP(column1, column2, ... column9) GROUP BY CUBE(column1, column2, ... column9)
-- 일단위SELECT DATEPART(dd, order_dt), count(order_no) FROM 주문테이블GROUP BY DATEPART(dd, order_dt)ORDER BY DATEPART(dd, order_dt) -- 주 단위SELECT DATEPART(ww, order_dt), count(order_no) FROM 주문테이블GROUP BY DATEPART(ww, order_dt)ORDER BY DATEPART(ww, order_dt) -- 월단위SELECT DATEPART(mm, order_dt), count(order_no) FROM 주문테이블GROUP BY DATEPART(mm, order_dt)ORDER BY DATEPART(mm, order_dt) -- 년단위SELECT DATEPA..
필요한 column만 명시한다. SELECT * 을 사용하는 것은 피한다. 사용하지 않는 데이터를 호출하는 것만으로도 이미 많은 부하가 생긴다. 특히 text 타입의 데이터를 호출하는 경우는 그 정도가 심해진다. data type의 byte가 적은 컬럼을 주로 사용하는 것이 좋다. COUNT(*)을 사용하라. COUNT(특정column) 으로 호출하는 경우가 있다. 이 경우 해당 컬럼의 NULL값을 제외한 COUNT를 가져오게 된다. NULL값을 일일이 체크하면 호출 속도가 저하되게 된다. NULL을 체크해야 하는 경우가 아닌 대부분의 경우 COUNT(*)을 체크한다. COUNT(*)는 NULL값의 경우도 모두 count에 추가하지만 그로 인해 성능의 저하가 많이 줄어든다. List 호출이 아닌 1 ro..
(T-SQL) 서버 측 동적 쿼리에서의 탈출 요약.수년 전부터 MS 플랫폼에서 SQL Server를 연동한 프로젝트 수행 시 개발 방법론의 중요한 한 축으로 저장 프로시저의 적극적인 활용이 일반화되고 있다. 그로 인한 부작용 중에 하나는 이전에 응용 프로그램 아키텍처 상의 프레젠테이션 계층 혹은 비즈니스 서비스 계층에서 문자열 데이터로 동적으로 구성하던 쿼리가 저장 프로시저를 통해서 서버 측에서 구성이 된다는 것이다. “서버 측 동적 쿼리”(이하 동적 쿼리로 표기)라고 표현하는 이러한 동적 T-SQL 또는 일괄처리는 성능상의 문제를 내포함과 동시에, 개발 생산성과 관리 및 유지 보수의 용이성 측면에서 많은 고려 사항을 포함하고 있다. 그럼에도 아직 많은 개발자들이 막연히 문제 해결 중심적인 사고로 동적 ..
통계나 정산 쿼리를 짜다보면 날짜별 정산 내역을 조회할 경우가 있는데 중간에 비는 날짜가 생기는 경우 해당 날짜의 ROW가 없는 경우가 있는데 이럴때 'Connect By'를 이용해 날짜 레코드를 만들어서 OUTER JOIN을 걸어 사용하면 좋다. 날짜 레코드 만들기 SELECT TO_CHAR(TO_DATE('{시작일자}', 'YYYYMMDD')+LEVEL-1, 'YYYY-MM-DD') FROM DUALCONNECT BY LEVEL