DB/Ms.SQL
-
테이블 명세서 만들기..므흣~DB/Ms.SQL 2012. 3. 6. 11:00
SELECT A.COLUMN_NAME , CASE WHEN B.DESCRIPTION IS NULL THEN '' ELSE B.DESCRIPTION END AS DESCRIPTION ,CASE WHEN A.IS_NULLABLE = 'YES' THEN '' ELSE 'N' END AS IS_NULLABLE , A.DATA_TYPE , CASE WHEN A.DATA_TYPE IN ('nvarchar','char','nchar','varchar') THEN CONVERT(NVARCHAR,CHARACTER_MAXIMUM_LENGTH) WHEN A.DATA_TYPE IN ('numeric','decimal') THEN CONVERT(NVARCHAR,NUMERIC_PRECISION) + ',' + CONVERT(NV..
-
특수한 데이터 형식DB/Ms.SQL 2012. 2. 5. 04:31
Uniqueidentifier,Timestamp, or Rowveersion,Sql variant,Table Cursor - Uniqueidentifier 16바이트이면서 전세계 유일한 값으로 사용될수 있는 데이터형식 (전세계에서 유일무이한값으로 생성가능) 장점은 전세계에서 유일한 값생성이 가능하여 유일한값(Unique)를 생성가능하다. 단점은 겁나(?) 많다.... 상대적으로 만드는데 시간소요가 크고,4바이트로 식별가능한 int형보다 16바이트를 쓰므로 저장공간이 더 필요하고,인간적으로 기억하기도 힘들고(머리가 나쁜데 어케외워), 제일큰문제인...정렬이 안된다...ㅠㅠ 이래서 이 데이터형을 쓰지 않는가봄!!!!! - Timestamp or Rowversion svn처럼 버젼관리가 될수 있음 row에 대..
-
-
데이터 생성기법DB/Ms.SQL 2009. 9. 24. 01:58
대부분의 테스트를 위한 DB테이블의 insert부분은 여러방법이 있다. 주로 내가 사용하는 방법은 우편번호 코드를 insert해서 많은양의 데이터들을 테스트해보곤했다. 책으로 읽었을때 대량의 데이터를 생성하는 기법은 여러가지가 있지만 속도 측면에서 봤을때 제일 좋은 방법은 Doubling방법이 있다. Doubling란? 원하는 크기가 될때까지 테이블로 자신의 데이터를 삽입하는 것을 말한다. SET NOCOUNT ON CREATE TABLE #list( id int identity ,PlaceHolder int Null ) INSERT INTO #list default values INSERT INTO #list default values INSERT INTO #list default values INSE..
-
-
..조인과 하위쿼리..DB/Ms.SQL 2007. 8. 21. 00:13
..일반적인 상황에서는(아주 평범한 과정) 하위쿼리를 사용하는 것이 조인을 사용하는 것보다 성능상 유리하다. ..하지만 이러한 상황에서는 각각 틀릴수가 있다.. - 상황1. 하위쿼리에서 반환하는 값이 외부쿼리에 있는 모든 행에 대해 동일하다. - 답변 미리쿼리한다.변수를 선언하고 필요한 값을 변수로 선택한 다음 하위쿼리를 한번만 실행하도록 하여 그 결과를 외부 테이블에 전달한다. - 상황2. 양쪽 테이블이 모두 작다(레코드의 수가 10,000개 이하이다.) - 답변 하위쿼리를 사용한다.정확한 이유는 말하기 힘들지만 여러 테스트를 해본 결과가 그렇다.조회와 조인의 성능차이 대문으로 보인다. - 상황3. 모든 조건에 맞는 하나의 값을 반환한다. - 답변 하위 쿼리. 하나의 레코드를 찾는 것이 전체 테이블을 ..
-
..SQL SERVER가 자동으로 저장 프로시저의 실행계획을 다시 작성하는경우..DB/Ms.SQL 2007. 8. 20. 14:53
- 프로시저의 실행환경이 프로시저의 생성환경과 다른 경우 - 프로시저가 참조하는 오브젝트에 대한 sysobjects 테이블의 schema_var 컬럼이 변경된경우.schema_ver 컬럼과 base_schema_ver컬럼은 테이블의 스키마 정보가 변경될 때 업데이트 된다.테이블 스키마 변경에는 컬럼 추가 및 제거, 데이터 타입 변경, 제약 조건 추가 및 제거, Rule바인딩, default바인딩 등이 포함된다. - 프로시저가 참조하는 오브젝트에 대한 통계가 변경된 경우. 즉.auto-update statistics와 auto-create statistics이벤트로 인해 저장 프로시져가 재컴파일될 수 있다는 것을 의미한다. - 프로시저의 실행 계획이 참조하는 인덱스가 제거된 겨우 - 프로시저의 실행 계획의..