MY MEMO
1. 저장 프로시저 : 쿼리문의 집합 -> 어떤 동작을 일괄 처리할때 사용 장점1) SQL Server의 성능을 향상 시킬 수 있다2) 유지 관리가 간편하다3) 모듈식 프로그래밍이 가능하다4) 보안을 강화할 수 있다ex) 사용자에게 테이블 권한을 주지 않고 프로시저에 대한 권한을 준다 5) 네트워크 전송량의 감소: 쿼리문이 네트워크를 통해서 전송되는데 쿼리가 많을 수록 많은 부하를 준다 과정구문 분석 -> 개체 이름 확인 -> 사용 권한 확인 -> 최적화 (대부분 indexing) -> 컴파일 및 실행계획 등록 => 메모리에 저장 -> 실행 같은 과정을 한번 더 실행하면메모리 확인 -> 실행 (단 한글자라도 다르다면 다르게 취급한다.) EXEC usp_ID 5000 WITH RECOMPILE;:저장 프로..
트랜젝션 : 하나의 논리적 작업 단위로 수행되는 일련의 작업 (전부 되거나 전부 안되거나)트랜젝션을 써야 하는 이유: 거래를 할때 구매자가 구매를 진행했는데 오류로 인하여 판매자는 돈이 입금되지 않은 경우 Database는 DB이름을 치지만 실제로는 파일 이름으로 존재한다 (*.mdf : 데이터 파일 / *.ldf : 트랜젝션 로그파일) 원래 데이터베이스는 논리적 데이터베이스 -> 물리적 데이터베이스 논리적 데이터베이스에서 쿼리를 날리면 일단 로그에 기록을 남기고 실제 데이터를 변경한다 트렌젝션을 생성하는 쿼리: BEGIN TRANSACTION (또는 BEGIN TRAN)SQL 문장COMMIT TRANSACTION (또는 COMMIT TRANS or COMMIT WORK) 실제로 쿼리를 실행하면 자동으로..
동영상을 보는게 더 좋음: https://www.youtube.com/watch?v=sSOsWoaTrNk&index=28&list=PLVsNizTWUw7Gw_ubikxbzecfveoxemsAs 데이터베이스는 성능이 아주 중요한 역할을 한다인덱스가 없어도 데이터를 조회하고 변경하는데 아무런 문제가 되지 않지만 - 장점1) SELECT를 빠르게 접근2) 해당 쿼리의 부하가 줄어서 시스템 전체의 성능이 향상 - 단점1) 데이터베이스 크기의 10% 정도의 추가 공간2) 인덱싱을 하는데 시간이 많이 소요3) Insert Update Delete가 자주 일어날때는 성능이 나빠질 수 있음 - 인덱스가 사용되기 좋은 조건1) 인덱스는 열 단위에서 생성2) WHERE 절에서 사용되는 열에 인덱스 생성3) WHERE 절에..