본문 바로가기

프로그래밍/DB & Redis48

index Index의 개념 - 인덱스는 데이터를 찾을 때 빨리 찾기 위해서 사용한다.- 인덱스가 없다면 특정한 값을 찾기 위해 모든 데이터 페이지를 다 뒤져야 한다. 이것을 table scan이라고 한다. 인덱스가 찾고자 하는 컬럼이나 표현식에 대해 존재하지 않고, 인덱스를 사용하는 것이 더 효과적이라면 sql 서버는 모든 페이지를 뒤지지 않고 인덱스 페이지를 찾아서 쉽게 데이터를 가져온다.이걸 index seek이라고 한다. 인덱스의 단점- 만드는데 시간이 걸린다.- 만드는데 많은 공간이 필요하고 만들고 난를 후에도 추가적인 공간이 필요하다.- 데이터를 수정하는 시간, 특히 insert 작업은 오히려 더 많이 걸린다. 클러스터 인덱스- 테이블 마다 한 개의 클러스터 인덱스가 존재한다.- 물리적인 행의 순서가 인.. 2017. 1. 4.
스키마 스키마는 데이터 구조와 제약조건에 대한 명세를 기술하는 것. 개체 속성 관계에 대한 정의와 이들이 유지해 될 제약조건을 포함한다. 외부단계 : 데이터를 이용하는 각 개인의 견해 개념 단계 : 개인의 모든 견해가 종합된 기관 전체의 견해 내부 단계 : 물리적 저장 장치의 입장에서 보는 저장 장치의 견해. ◎ 외부 스키마 외부단계는 개개 사용자가 보는 개인적인 데이터베이스에 관한 것 ◎ 개념 스키마 모든 응용 시스템들이나 사용자들이 필요로 하는 데이터를 통합한 조직 전체의 데이터베이스 기술이다. ◎ 내부 스키마 저장장치의 입장에서 데이터베이스가 저장되는 방법을 명시한다. ◎ 2016. 12. 15.
shrinkfile 참고 ------------------------------------------------------------------------------------------ http://www.happyjung.com/bbs/board.php?bo_table=lecture&wr_id=1511 https://msdn.microsoft.com/ko-kr/library/ms178568.aspx ------------------------------------------------------------------------------------------ SP_HelpDB DATABASE이름 dbcc shrinkfile(DB이름,10); dbcc shrinkfile(DB이름_log,10); 현재 데이터베이스에 대해 .. 2016. 8. 22.
sp_lock 확인과 처리 방법. 참고 출처 http://jhbench.tistory.com/314 https://msdn.microsoft.com/ko-kr/library/ms187749.aspx sp_lock 잠금에 대한 정보를 보고합니다. ex) exec sp_lock; 그럼 결과로 현재 lock에 대한 정보가 뜬다. 이때 세션을 강제 종료 하려면 Kill spid를 적으면된다. ex) Kill 61; 그리고 누가 소유자인지 확인하려면 EXEC SP_WHO2 spid 확인한다. DBCC INPUTBUFFER(spid)를 사용하면 어떤 쿼리가 lock을 발생했는지 확인 할 수 있다. 2016. 8. 8.
[mssql] sp_helpdb 지정된 데이터베이스 또는 모든 데이터베이스에 관한 정보를 보고합니다. 1. 특정 DB 정보 보기 사용법 : sp_helpdb 디비이름 ex) sp_helpdb mangoDB; 2. 모든 DB 정보 보기 EXEC sp_helpdb; GO 2016. 8. 8.
샤딩이란 sharding이란? 참고 및 출처 : http://hanburn.tistory.com/106 관계형 데이터베이스에서 대량의 데이터를 처리하기 위해서 데이터를 파티셔닝 하는 기술이다. 파티셔닝은 dbms에서 지원하기도 하는데, 일부에서는 지원안하기도 한다. 샤딩은 DBMS 레벨에서 데이터를 나누는 것이 아니고 데이터베이스 자체를 분할하는 방식이다. 따라서 어플리레이션 레벨에서 구현해야 한다. 간단하게 예를들면 전 세계 고객 데이터를 저장하는 대형 데이터베이스를 분산한다고 할때, 미국은 샤드 A, 아시아는 샤드 B , 유럽고객은 샤드 C로 나눌수 있다. 2016. 8. 8.
제약조건 Constraint 출처 및 참고: http://www.gurubee.net/lecture/1013 제약조건(Constraint) 이란? 제약조건이란 테이블에 부적절한 자료가 입력되는 것을 방지학 위해서 여러가지 규칙을 적용해 놓는것. - 제약조건은 데이터의 무결성을 유지를 위하여 사용자가 지정할 수 있는 성질이다. - 모든 제약조건은 데이터 사전(Dictionary)에 저장 된다. - 의미있는 이름을 부여했다면 Constraint를 쉽게 참조할 수 있다. - 표준 객체 명명법을 따르는 것이 좋다. - 제약조건은 테이블을 생성할 당시에 지정할 수도 있고, 테이블을 생성 후 구조변경 명령어를 통해서도 추가가 가능하다. - NOT NULL 제약조건은 반드시 컬럼레벨에서만 정의가 가능하다. NOT NULL 조건 컬럼을 필수 필드.. 2016. 8. 8.
[MSSQL] 저장 프로시저 * 저장 프로시저란 ? 저장 프로시저 또는 스토어드 프로시저는 일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합니다. 데이터베이스에 대한 일련이 작업을 정리한 절차를 관계형 데이터베이스 관리 시스템에 저장한 것으로 영구저장모듈이라고도 불린다. * 저장 프로시져의 장점 1..매우 좋은 성능 2. 보안성을 높일 수 있음. 3. 다양한 처리가 가능 4. 넷웍의 부하를 줄일 수 있음 * 저장 프로시저의 단점. 1. 접하기 어려움 2. VB나 ASP에서 호출 방식이 틀려 처음 저장 프로시져를 접할경우 거부감이 생김 3. 새로운 언어를 배우는 정도의 부담이 있음. * 프로시저 생성 Create PROC p_readMaxSalary AS select emNo, max(Salary) from Employe.. 2016. 8. 5.
[mssql] 조회하기 Where, Having 출처 : https://msdn.microsoft.com/ko-kr/library/ms188047.aspx https://msdn.microsoft.com/ko-kr/library/ms180199.aspx * Select 할때 Where와 Having을 사용한 조회 * WHERE - 쿼리가 반환하는 행에 대한 검색 조건을 지정 * Having - 그룹 또는 집계에 대한 검색 조건을 지정합니다. HAVING은 SELECT 문하고만 사용될 수 있으며 일반적으로 GROUP BY 절에 사용 일단 쿼리를 하기 위해 테이블을 만들고 데이터를 삽입 * create Table ------------------------------------------------- create Table PurchaseLog( logN.. 2016. 7. 20.
반응형