서버 개발 36

[MSSQL] 실행 계획 아이콘

연산자 자세한 설명은 다음 링크 참고하세요. https://docs.microsoft.com/ko-kr/sql/relational-databases/showplan-logical-and-physical-operators-reference?redirectedfrom=MSDN&view=sql-server-ver15 실행 계획 논리 및 물리 연산자 참조 - SQL Server 실행 계획 논리 및 물리 연산자 참조Showplan Logical and Physical Operators Reference 이 문서의 내용 --> 적용 대상: SQL Server Azure SQL Database Azure Synapse Analytics(SQL DW) 병렬 데이터 웨어하우스 APPLIES TO: SQL Server A..

[MSSQL] 실행 계획 보는 방법

SQL이 의도한 대로 동작하고 있는지 꼭 확인을 해야 겠습니다. 그러기 위해서는 실행 계획을 읽는 방법도 확실하게 알아야 겠습니다. 아래 아이콘을 눌러 놓고 SQL을 실행하면 실행 계획도 함께 볼 수 있습니다. 다음과 같이 볼 수 있습니다. 그래프가 아니라 텍스트 모드로도 볼 수 있습니다. - 텍스트 실행 계획 보기 ON/OFF SET SHOWPLAN_ALL ON GO SET SHOWPLAN_ALL OFF GO - 텍스트 실행 계획 보기를 ON 시키면 다음과 같이 실행 계획을 텍스트로 볼 수 있습니다. |--Parallelism(Gather Streams) |--Hash Match(Right Outer Join, HASH:([B].[userno])=([A].[userno]), RESIDUAL:([jino..

[MSSQL] 테스트 데이터 생성

유저 테이블에 10만건 더미 데이터 생성하기 declare @i int set @i = 0 while (@i < 100000) begin set @i = @i + 1 insert into dbo.[user](name, guildno, reg_date) values (concat('user', @i), @i/100, dateadd(dd, -@i/100, getdate())) end 인벤토리 테이블에 1000만건 더미 데이터 생성하기 declare @i int set @i = 0 while (@i < 10000000) begin set @i = @i + 1 insert into dbo.[inventory] (userno, itemid, reg_date) values (@i/200+1, @i, dateadd(..

[SQL] LEFT Outer Join, RIGHT Outer Join, FULL Outer Join

일반적으로는 Inner Join 즉 테이블의 교집합을 Join하지만 join하는 다른 테이블에 데이터가 없더라도 join을 하여 데이터를 얻어 오도록 하는 것이 outer join입니다. Outer Join에는 다음과 같이 세 가지가 있습니다. LEFT, RIGHT, FULL Outer Join LEFT OUTER JOIN SELECT Customers.CustomerName, Orders.OrderID FROM Customers LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID ORDER BY Customers.CustomerName; https://www.w3schools.com/sql/sql_join_left.asp SQL LEFT JOIN..

OLTP, OLAP, DW

OLTP(On-Line Transaction Processing) 여러 과정의 연산이 하나의 단위 프로세스(트랜잭션)로 실행되도록 하는 프로세스입니다. 즉, 흔히 말하는 "트랜잭션(Transaction) 처리" 를 OLTP 라 부른다. 예를 들어 A 테이블 업데이트 B 테이블 업데이트는 두 개의 연산이지만 하나의 트랜잭션으로 처리되게 합니다. 하나의 단위 프로세스 이므로 A 테이블을 업데이트하고 B 테이블 업데이트에서 오류가 발생하면 A테이블의 업데이트 내용도 되돌아 갑니다. OLAP(On-Line Analytical Processing) 위의 DW에서 데이터를 분석해서 의미있는 형태로 만들기 위한 과정및 도구. 의사결정 지원 시스템의 하나. DW의 통합 데이터베이스를 다양한 관점으로 추출, 분석 하는 ..

SQL의 분류 DML/DDL/DCL/TCL

SQL 명령어를 주로 DML, DDL로 분류하는 경우가 많아서 어떤 것들이 이러한 명령어인지 잘 알고 있어야 합니다. 이 밖게 DCL, TCL로 분류를 하는데 이것 또한 알아 두어야 겠습니다. 분류 명령어 설명 DML : Data Manipulation Language SELECT, INSERT, UPDATE, DELETE 테이블의 데이터를 다루는 명령어 데이터 조회, 입력, 수정, 삭제 DDL : Data Definition Language CREATE, ALTER, DROP, RENAME, TRUNCATE 테이블을 조작하는 명령어 테이블 생성, 변경, 삭제, 이름변경, 초기화 DCL : Data Control Language GRANT, REVOKE 권한 부여/제거 TCL : Transaction C..