본문 바로가기

SQL7

[SQL] 주소정보 DB에 입력하기 우편번호 데이터들이 엑셀형식으로 저장되어 있으므로 MS-SQL에서는 간단하게 데이터 가져오기를 사용하여 테이블에 입력을 할 수 있었다. 하지만 MY SQL에서는 약간 이래저래 수정도 해주면서 작업을 해야되었다. 그래서 간단한 작업절차를 써보도록 하겠다 1. 하단에 명시된 페이지로 이동하여 원하는 DB 정보를 다운받는다. http://www.zipfinder.co.kr/zipcode/index.html 2. 다운받은 엑셀파일을 csv 형식으로 변형시킨다. 다른이름으로 저장 -> 다른형식 -> csv 형식선택 저장을 하면 각 필드들은 쉼표(,) 로 구분이 된다. 3. 해당 주소체계에 맞는 형식의 테이블을 생성한다 4. my sql 입력 커맨드창에서 다음의 명령어를 실행한다 load data infile [해.. 2011. 4. 17.
[SQL] 비어있는 identity 컬럼에 값 넣기 -- Create products table. CREATE TABLE products (id int IDENTITY PRIMARY KEY, product varchar(40)) GO -- Inserting values into products table. INSERT INTO products (product) VALUES ('screwdriver') INSERT INTO products (product) VALUES ('hammer') INSERT INTO products (product) VALUES ('saw') INSERT INTO products (product) VALUES ('shovel') GO -- Create a gap in the identity values. DELETE product.. 2010. 12. 24.
[SQL] 트랜젝션 로그 백업 내용 보기 [MS-SQL] select * from fn_dump_dblog(default,default,default,default,'d:\test.trn', default,default,default,default,default,default,default,default,default,default, default,default,default,default,default,default,default,default,default,default, default,default,default,default,default,default,default,default,default,default, default,default,default,default,default,default,default,default,default.. 2010. 10. 22.
[MS-SQL] Join 을 사용한 Update 다른 테이블에 있는 값들을 원테이블로 옮길 경우 Update 시 Join 을 사용해야된다 그런데 이거 할때마다 기억이 안나서 메모남김 update [테이블] set [테이블].[원컬럼명]=A.[새컬럼명] from [테이블] join [복사할테이블] A on [테이블].[조인할컬럼명]=A.[조인할컬럼명] 2010. 10. 13.
[SQL] 결합인덱스 컬럼순서 결정방법 순서 결정에 있어서 아래의 순서데로 우선순위를 매겨가며 첫번째 컬럼을 결정하도록 하자!!! 1. 항상 사용되는가? 결합인덱스의 첫번째 컬럼을 조건에서 사용하지 앟으면 그 인덱스는 사용되지 않는다. 그러므로 항상 사용되는 컬럼을 결합인덱스의 첫번째에 넣도록 한다. 2. 항상 '=' 로 사용되는가? 앞에 있는 컬럼이 '=' 조건으로 사용되지 않았다면 뒤에서 '='을 사용하더라고 처리범위가 줄어들지 않는다. 그러므로 첫번째 컬럼은 '=' 을 사용하여 처리범위를 줄여서 처리속도를 높일 수 있도록 하여야 한다. 3. 분포도가 좋은 컬럼인가? 분포도가 좋은(좁은) 컬럼은 처리범위를 보다 빠르게 줄일 수 있으며 향후 예상치 않게 'LIKE, BETWEEN, ' 등의 조건 검색식이 사용된 경우 처리범위가 넓어지는 상황.. 2010. 10. 10.
[SQL] 통계 업데이트로 쿼리 속도 향상시키기 DB에서 많은 자료가 올라오다보면 옵티마이저가 분포도 계산을 잘못하여서 Index 를 타지 않고 그냥 전체스캔을 해서 결과값을 찾기때문에 느려지는 경우가 있다. 이럴때 새로 Index 를 걸어주거나 인덱스 힌트를 사용하지 않고 분포도와 관련된 통계를 업데이트 시켜주면 쿼리속도가 비약적으로 상승하게 된다 MS-SQL 사용예 update statistics 테이블명 2010. 10. 7.