MY MEMO
1. 전체 텍스트 검색 : 긴 문장으로 구성된 열의 내용을 검색 할때 인덱스를 사용할 수 없지만 인덱스를 사용할 수 있는 것처럼 만들어서 검색을 빠르게 하는 것SELECT문의 WHERE or FROM 전에 관련된 키워드를 사용 SELECT * FROM FulltextTbl WHERE description LIKE '%남자%';: 이렇게 하면 index 검색이 아닌 table scan CREATE FULLTEXT CATALOG movieCatalog AS DEFAULT;: 전체 텍스트 인덱스가 저장될 가상의 공간 CREATE FULLTEXT INDEX ON FullTextTbl(description)KEY INDEX pk_idON movieCatalogWITH CHANGE_TRACKING AUTO; // ..
(실무에서는 거의 사용하지 않음)Trigger : 방아쇠라는 뜻으로 테이블에 무슨 일이 일어나면 자동으로 실행 -> 삽입 수정 삭제 등을 실행ex) 테이블에 행을 고의 또는 실수로 삭제한다면 테이블에 행이 삭제되는 순간에 행의 내용/시간/삭제/사용자를 기록 1) AFTER TRIGGER: INSERT, UPDATE, DELETE 등의 작업이 일어났을 때 작동하는 트리거 +) deleted 라는 table이 system에 존재 -> 삭제되는 모든 내용이 있음 & inserted : insert 했을 모든 데이터가 입력되어있음INSERT가 실행 : inserted 테이블에 삽입UPDATE가 실행 : 원래의 데이터 -> inserted / 삭제된 데이터 -> deleted CREATE TRIGGER trg_i..
커서 : 행의 집합을 처리성능에 별로 좋지 않은 영향 처리 순서커서 선언 -> 커서 열기 -> 커서 데이터 가져오기 -> 데이터 처리 -> 커서 닫기 -> 커서 해제 DECLARE userTbl_cursor CURSOR GLOBAL/LOCAL(default) + STATICFOR SELECT height FROM userTbl; OPEN usrTbl_cursor;: 내부적으로 위의 쿼리문을 실행해서 cursor에 데이터를 담아 놓음 DECLARE @id NVARCHAR(10)DECLARE @sum BIGINTDECLARE @userGrade NCHAR(50) FETCH NEXT FROM userCur INTO @id, @sum -- 첫 행 값을 대입 WHILE(@@FECTCH_STATUS=0) -- 행이..