반응형
반응형
안녕하세요. 이 글은 제가 예전에 작성하였던 네이버 블로그의 글을 다시 올린 글입니다. 다소 기존의 글보다 내용의 퀄리티가 떨어질 수 있으니 이점 유의해주시기 바랍니다. 이 글을 작성하였을 당시의 연차가 2년 차여서 글 쓰는 실력도 없었고 배우면서 정리던 단계라서 많이 부족합니다. 들어가며... NULL은 RDB에서 개념을 정확하게 알고 있어야 합니다. NULL은 공백이 아닙니다. 그래서 NULL을 포함하냐? 하지 않냐? 는 굉장히 중요합니다. 데이터엔지니어, 데이터분석가 두 직업을 하면서도 분명히 알고 있어야 합니다. 그래서 꼭 RDB의 NULL이 아니더라도 BigQuery , Redshift 등의 모든 데이터를 SQL을 사용하는 곳에서 NULL은 알고 있어야 합니다. 또한 NULL의 경우 취급 방식이..
안녕하세요. 이 글은 제가 예전에 작성하였던 네이버 블로그의 글을 다시 올린 글입니다. 다소 기존의 글보다 내용의 퀄리티가 떨어질 수 있으니 이점 유의해주시기 바랍니다. 이 글을 작성 하였을 당시의 연차가 1년 차여서 글 쓰는 실력도 없었고 배우면서 정리던 단계라서 많이 부족합니다. 이 글을 읽기 전에 트랜잭션의 개념을 알아두면 정말 좋습니다. RDB에서 트랜잭션이란 작업의 단위를 뜻 합니다. RDB에서는 트랜잭션을 통해서 작업이 묶이고 해당 트랜잭션의 작업은 모두 성공 또는 모두 실패해야 합니다. 그렇기에 Begin End 구문을 통해서 작업을 묶어줘야 합니다. 관련하여 잘 정리된 블로그를 한번 읽어보시고 이 글을 읽으면 많은 도움이 됩니다. https://csj000714.tistory.com/623..
새로운 서버를 받아서, SQL Server를 설치하고, 운영하는 도중에 기술지원을 받는 중에 CPU의 64 Core 중에 40 Core만 사용하고 있는 것을 발견하였습니다.인터넷에 찾아보았는데, 영문자료밖에 있지 않아서, 내용을 가져와 씁니다. 원문 : https://blogs.msdn.microsoft.com/sql_shep/2012/06/21/sql-server-2012-license-core-limitaion/ 이 에디션은 2012부터 나왔으며, 엔터프라이즈에서는 코어를 40개까지 밖에 지원하지 않는다고 합니다. 다음의 내용에 써 있습니다. 왜 이렇게 나눠서, 사용자를 불편하게 한지는 잘모르겠습니다. (아무래도... 라이센스 때문인가?) 확실한 방법으로 코어가 몇개인지 확인해 보고, 실제로 SQL ..
게임회사에서 근무하다가 교육업체로 업종을 변경하면서, 쿼리에 대해서 많은 차이점이 보입니다.물론 이곳(?)의 스타일 일수도 있지만, UDF를 상당히 많이 사용합니다. 게임회사에서는 UDF를 그렇게 많이는 사용하지 않았는데, 이곳에서는 아주 많은 쿼리에 UDF를 사용하는 경우를 보았습니다. UDF가 무조건 안좋은 것은 아니지만 모르고 쓸 경우 성능에 치명적인 영향을 미칠 수 있다는 것을 테스트 하였습니다. 이 테스트는 샘플 데이터베이스인 AdventureWorks2012 에서 테스트 하였으며, SQL MVP 61인 Chapter 20의 사용자 정의 함수(UDF)를 참조하였습니다.책의 내용이 2가지가 언급되어 있어, 2개로 나누어서 글을 정리 합니다. 이 테스트 쿼리는 책에서 제공하는 쿼리와 약간 다릅니다...
SQL Server 2016에서 Temporal Table이라는 기능이 있어서, 소개하고자 합니다.Temporal은 다음과 같은 뜻을 가집니다.- 1. 현세적인, 속세의 2. 시간의; 시간의 제약을 받는 3. 관자놀이께의 Temporal 테이블은 제가 볼때 엄청난 기능은 아니고, Table의 내용이 변경(UPDATE, DELETE)이 될 경우 그 내용을 기록하는 History (?)성 테이블이라고 생각하면 됩니다.글로 표현하는 것보다 그림으로 보는 것이 더욱 이해가 될 것 입니다.제가 생각 할때 이 그림이 가장 맞는거 같습니다. 크게 별다른 기능이 아니고, 단순히 유저가 DELETE , UPDATE 라는 조작을 가하면 테이블에 기록을 남기는 것 입니다.음... 일종에 트리거 같은 기능을 종속하여, 추가한..