본문 바로가기

프로그래밍81

[MSSQL]FULL TEXT INDEX 생성 방법 LIKE 조건 성능 튜닝 방법 MSSQL 에서 성능 쿼리 성능 개선을 하다보면 KEYWORD 검색중 LIKE 절 특히 앞에 %가 붙는 인덱스를 제대로 활용하지 못하는 쿼리는 성능에 극악한 영향을 줍니다. 이럴때 FULL TEXT SEARCH를 활용하면 성능을 향상 시킬 수 있습니다.. FULL TEXT SEARCH 하는 방법, FULL TEXT INDEX 생성에 대한 기본적인 개념은 MSDN을 참고하시길 바랍니다. (https://docs.microsoft.com/en-us/sql/relational-databases/search/full-text-search?view=sql-server-ver15) 여기서는 성능 차이와 사용하는 방법 주의 사항에 대해서만 알리고자 합니다. 1. PK 설정 2. 카탈로그 생성 3. 카탈로그에 데이터 .. 2021. 3. 26.
[MSSQL] MSSQL 버전 확인 방법 서버에 접속하면 SSMS 상에 위와 같이 서버의 버전 정보가 표시됩니다. 해당 버전 정보는 sql 버전을 나타내고, 2000/2008/2014/2015/2017 등 익숙한 버전으로는 아래 표로 매칭됩니다. 제품 버전 SQL Server 2019 15.0.X.X SQL Server 2017 14.0.X.X SQL Server 2016 13.0.X.X SQL Server 2014 12.0.X.X SQL Server 2012 11.0.X.X SQL Server 2008 R2 10.50.X.X SQL Server 2008 10.0.X.X SQL Server 2000 8.0.XXXX (상세 버전 정보 : 링크) 쿼리로 서버의 버전을 확인 하는 방법은 SELECT @@VERSION 입니다. 참고로 쿼리로 해당 인스.. 2021. 3. 22.
[SQL]테이블 변경(생성, 수정,삭제) 이력 조회 방법 (Who Created a table?) MSSQL 2008 이상에 해당되는 이야기입니다. 테이블이 생성되었거나 수정되었거나 삭제 되었는데, 누가 했는지 알수 없을때 아래와 같이 조회 할 수 있습니다. (*기간이 너무오래지난 것은 볼수없습니다.) 1. ssms 의 기능을 활용 ( 테이블 변경이력 보고서 생성 ) db 인스턴스->보고서 표준보고서->스키마변경기록 조회 정보 확인 2. 쿼리로 조회해보기 log.trc 파일 분석 (위의 것과 동일한것인테 테이블을 지정해서 씁니다.) --CREATE TABLE TEST (ID INT ) DECLARE @DB NVARCHAR(100) = N'TEST' DECLARE @TBL NVARCHAR(100) = N'TEST' ;WITH TRACE_PATH AS (SELECT REVERSE(STUFF(REVERSE.. 2021. 3. 22.
[MSSQL] 특정 문자열 기준으로 자르기 MSSQL 특정 문자열 기준으로 자르기 "문자열기준으로 자르는 방법, 특정 문자로 변경후 바꾸면 됩니다." SQL 을 처리하다 보면 문자열 처리할 일이 많습니다. 특정 문자 문자앞뒤로 자르기, 앞으로 자르기, 뒤로 자르기 등등 많이 있지만 모두 원리는 CHARINDEX 를 통해 특정 위치를 받아 처리합니다. 그런데 문자열 예를 들면 '번지'라는 문자뒤로는 다지우고 싶다는 요청은 어떻게 처리 할까요? 아래에 해답을 드립니다. DECLARE @STR VARCHAR(100) SET @STR ='서울특별시 가나다구 때앵땡동 123-1번지 콩콩아파트' --번지 기준으로 분리 SELECT @STR AS ADDRESS_ORG ,RTRIM(LEFT(@STR, CHARINDEX('|', REPLACE(@STR,'번지',.. 2021. 2. 17.