지난번에 포스팅 했던[DB(MS, PG, MY..etc)] - MS-SQL 튜닝에 대한 짧은 생각과 관련해서 튜닝이라고하기 까지는 좀 뭐하지만 간단한 팁(?)정도로 하나 소개할까 한다.----------------------------------------------------------------- 프로그램 개발을 하거나 데이터 추출을 할 때많이 고민하게 되는 것 중에 하나가 귀차니즘이다.(고민하느냐... 노가다를 하느냐...ㅎ)무슨뜻인가 하면예를 들어 어떤 결과물을 내려고 하는데그 과정에서 첫 번째 쿼리를 실행한 결과를 바탕으로두 번째 쿼리를 실행하거나 또는 그 이상의 쿼리를 사용해야 하는 경우이다.(아무튼... 요약하자면 어떤 결과를 내기위해서 쿼리를 여러 번 실행해야 하는데 그게 귀찮다는 말이다...
내가 IT쪽 일을 하게 된 지도 어언 14년정도가 되었다.되돌아 보면 그동안 참 많은 일들이 있었는데 시간이 참 빨리도 흘러가는 것 같다.전산 인프라 운영부터 헬프 데스크, 네트워크 장비 운영, 프로그램 개발, 정보보안, DB및 서버 관리 등등14년동안 잡다한 일들을 참 많이 해봤었는데의미있는 기록을 남겨보면 어떨까 하는 생각이 문득 들었다.그 중에 어떤게 좋을까 고민하다가 내가 주로 사용했던 MS-SQL에 대한 이야기를 해 보기로 마음먹었다.더 세부적으로는 DB를 튜닝하는 방법에 대해서.... 아니, DB를 튜닝한다니 얘기가 좀 거창한거 같고DB를 좀 더 효율적으로 관리, 사용하는 방법에 대해서 내가 알게된 것들을 정리해 볼까 한다.이것저것 주제를 잡아 간단하게 정리를 하는 방식으로 해 보려고 하는데현..
그 동안 잘 사용해 오던 SQL서버인데... 언젠가서 부터 특정 시간대에 프로그램이 많이 느려진다는 이야기를 사용자들에게 들었다. 느려진다고 이야기하는 타이밍에 서버의 CPU, 메모리 사용량 등을 체크해 보았으나 CPU나 메모리의 문제가 아닌 다른 부분이 시스템을 느려지게 하고 있는 것 같았다. 그러다가 체크 해 본 부분이 디스크 IO인데... tempDB의 mdf, ldf 파일의 용량이 적절하지 않게 컸으며 읽고 쓰기 속도가 다른 프로세스들과 비교했을 때 이 역시 적절치 못하게 상위에 랭크되어 있음을 발견했다. tempDB라는 놈은 이름에서 알 수 있듯이 임시 DB의 역할을 한다. 예를들어 임시테이블에 데이터를 저장한다든지... 쿼리의 중간결과를 저장하거나, 소팅, 해쉬테이블을 만드는 그런 쪽 임무를 ..
오늘은 ms-sql의 연결된 서버에서 서버를 연결하는 방법에 대해 포스팅 해보려고 한다. ms-sql 서버 인스턴스를 하나만 사용하거나 여러 인스턴스를 관리하고 있지만 각각의 인스턴스들이 별도로 동작하는 경우 그런 관리자들에게는 굳이 이 내용이 필요없을 지도 모른다. 하지만 인생 어떻게 될지 모르는거고... ㅎ 나중에 써먹을 일이 생길지 누가 알까.. 당장에 필요 없더라도 한 번 읽어뒀다가 혹시 나중에 필요하게 되었을 때 기억이 나서 찾아보면 되니 다 피가 되고 살이되는것. 알아두면 손해볼 거 없다. 각설하고.... (아, 서버를 연결하는 방법은 여러가지가 있다. 여기서는 ODBC설정을 이용한 방법만을 이야기한다. 나머지는 기회가 되면 나중에...) 먼저 연결된 서버(linked server)라는 건 말..
MS-SQL 서버를 사용하다보면 하나의 서버에 하나의 인스턴스만 설치해서 사용하는 경우도 있겠지만 그렇지 않은 경우 즉, 둘 이상의 인스턴스를 설치하는 경우도 생기기 마련이다. 이럴 경우에 디폴트 1433 포트는 어느 인스턴스에게 할당이 되며 사용자 혹은 프로그래머는 각각의 인스턴스를 어떻게 구별해서 접속해야 하는지에 대해서 정리해 보도록 하겠다. 그렇다고 거창한건 아니고... 이거때문에 삽질을 좀 했기 때문이다. 우선 MS-SQL에 다중 인스턴스를 설치 한 경우 쿼리 툴 및 프로그램 작성 시, 인스턴스를 구별해서 접속해야 할텐데.... 네트워크 카드를 하나 사용한다는 가정하에 IP는 같으니 구별이 불가능 하고 포트설정을 통해서 인스턴스의 구별을 할 수가 있다. 포트설정 방법은 Sql Server Con..
간만에 올리는 포스팅 이번에는 MS-SQL에서 숫자표시를 할 때 천단위로 콤마를 찍는 방법에 대해서 끄적여 보기로 한다. VB에서는 format이란 함수를 이용해서 "###,0"과 같이 변환이 가능하지만 ms-sql에서는 어떻게 해야 할까. 물론 함수를 사용해서 위와 같은 효과를 낼 수는 있지만 다른점이 있다면 조합을 해야한다는 정도? 아무튼 이 방법도 어떻게 구현해야 하나 고민하게 만니 이것도 이것 나름대로 재미가 있다. ㅎㅎㅎ 실제로 사용되는 함수들은 다음과 같다. cast, convert, replace 그리고 사용할 데이터 형 varchar, money 위 함수들과 데이터형이 어떤 놈들인지, 어떻게 사용하는건지에 대해서는 여기서 말하지는 않겠다. 다만, 항상 모르면 물어봐야 할 F1도움말에 잘 나..
오랜만에 쿼리분석기에서 테이블 이름과 컬럼 이름을 변경하려고 하니... 잘 기억이 안나는거... 비효율적이지만 기억을 유지하기 위해서는 메모를 계속 해야만 하는 것 같다. mssql에서 컬럼, 테이블 명 변경 방법 -- 컬럼명 변경 alter table '테이블 이름' add '컬럼 이름' varchar(100) not null default '' -- 컬럼 이름 다음에는 차례대로 데이터형, 제약조건, 디폴트 값 여기서 한 가지 tip. 기존의 컬럼을 변경하려고 할 때(가령 데이터형을 변경한다던지...)는 제약조건이 있을 경우 제약조건을 drop시키고 컬럼을 변경하고 다시 제약조건을 걸어줘야 한다. --> drop constraint -> alter table alter column -> add cons..
아~~주 오랜만에 MySQL을 사용할 일이 생겼다. VB 6.0에서 연결은 예전에도 해 봤던 작업이기에 별 문제 없을 거라고 생각하고 MySQL 사이트 에서 MyODBC를 다운로드 받았다. (다운은 아래 주소에서...) http://dev.mysql.com/downloads/connector/odbc/ 다운로드 받고 설치 한 후에 DNS에서도 확인이 되는 상황. 그런데.... Driver={MySQL ODBC 5.2 Driver};SERVER=local;DATABASE=test;UID=test;PWD=test; 보통의 연결 문구를 사용해서 연결 시도를 하면 연결이 안되는거다..... 이거는 아무리 검색을 해도... 도저히 답이 안나오는 상황... 설치 디렉토리에 readme 파일을 찾아봐도 별 뾰족한 방..
- Total
- Today
- Yesterday
- 틀린그림찾기
- 플래시
- 플래쉬 게임
- 오락실 게임
- 8비트
- 플래시 게임
- 고전명작
- xml강좌
- 플래쉬게임
- 고전게임
- Excel
- MS-SQL
- 레트로게임
- XML Programming with VB 6.0
- 엑셀
- 플래시게임
- 좀비게임
- 8비트상성
- XML
- 브롤스타즈
- J.S Bach
- c#
- 중독성짱게임
- 오락실게임
- C
- brawlstars
- SQL
- 다른그림찾기
- 추억의 게임
- 플래쉬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |