본문 바로가기
반응형

기타 개념정리48

SQL에서 Alias를 사용하는 이유 SQL에서 Alias(별칭)은 컬럼이나 테이블에 임시 이름을 주는 용도로 사용하는데 컬럼이나 테이블 뒤에 한번 띄고 Alias를 입력하거나 혹은 컬럼명 AS Alias명 으로 사용해주게 된다 여기서 Alias를 굳이 사용하는 이유는 가독성을 높이기 위해 사용하게 되는데 자주 보게 되는 예제는 함수(Function)를 호출하거나 테이블에 이름을 주는 경우가 되겠다 맨 위의 스크린샷을 보면 Alias를 주지 않아서 한 눈에 봐도 암이 걸리는데 Alias를 사용해주면 훨씬 가독성이 좋아진 것이 보인다 그리고 테이블에 사용아는 경우에는 대부분의 테이블은 이름이 길고 사용하기 불편한데 Alias를 사용하면 테이블명 A 이런 식으로 지정한 뒤 A.컬럼명과 같이 편하게 사용할 수 있다 이게 뭐가 편하지? 이런 생각이.. 2021. 1. 29.
SQL IN EXISTS JOIN 성능 비교 및 용도 정리글 각종 SQL에서 데이터 조회 시 IN EXIST INNER JOIN을 사용해 조회를 하게 되는데 여기서 IN, EXIST, INNER JOIN 중 뭘 써야 성능이 가장 좋은가 싶을거다 일단 정답은 몇백~몇천건을 조회하는 정도라면 의미있는 차이가 없기 때문에 아무거나 써도 되는데 여기서 가장 사용하기 쉽고 직관적인 IN이 유리하다 따라서 대부분은 사용하기 쉬운 IN만을 주로 사용하다 대량의 데이터를 조회하는 경우(몇만~몇십만건)에 IN을 사용하게 되면 조회 속도가 급격하게 느려지게 되는데 IN을 사용하면 테이블의 모든 컬럼 값을 직접 비교하기 때문에 대량의 데이터를 조회하는 시점에서 문제가 생기는 것이다 여기서 자연스럽게 EXISTS를 사용하게 되는데 EXISTS는 해당 값이 TRUE/FALSE냐 만을 비.. 2021. 1. 28.
MySQL 에서 쿼리를 소문자로 작성해야 하는 이유 오라클에서는 역사와 전통에 따라 쿼리를 모두 대문자로 작성하는 경향이 있는데 쿼리를 대문자로만 쓰는 이유 오라클, MySQL, MSSQL등 온갖 DB에서 쿼리문을 작성할 경우 대부분은 모든 쿼리를 대문자로 작성하는 경향이 있는데 프로그래밍 언어는 대문자 소문자 합치기, 스네이크 케이스, 파스칼 케이스 등 wakestand.tistory.com MySQL에서는 쿼리를 함수를 제외하고는 죄다 소문자로 작성하게 된다 이게 왜 그렇냐면 show variables like 'lower_case_table_names'; 를 쳐보면 이유가 나오는데 리눅스의 경우에는 기본값이 0 윈도우의 경우에는 기본값이 1이다 먼저 lower_case_table_names의 값이 1일 경우에는 테이블의 대소문자를 구별해서 아무 문제.. 2021. 1. 28.
인터페이스 테이블 개념정리 실제 업무를 하다보면 테이블명 뒤에 _IF 가 붙은 인터페이스 테이블이 종종 보이는데 이걸 무슨 용도로 사용하냐 하면 한 서비스에서 다른 서비스의 DB로 접근할 때 바로 다른 서비스의 DB로 붙는게 아니라 인터페이스 테이블로 붙여 사용하게 된다 이게 A 서비스에서 바로 B 서비스로 붙어버리면 한 서비스에서 타 서비스의 테이블을 변경해버릴 수 있는 보안 상 문제가 생기게 때문에 B 서비스의 테이블과 동일한 테이블을 이름만 바꿔 인터페이스 테이블을 만든 뒤 인터페이스 서버를 만들거나 혹은 인증 과정을 통해서만 접근할 수 있게 하고 인터페이스 테이블에 쌓인 데이터는 주기적으로 배치(BATCH)를 통해 타 서비스로 데이터를 보내 A 서비스와 B 서비스는 인터페이스 테이블을 매개로 송수신을 할 수 있게 된다 2021. 1. 26.
MSA(Microservices Architecture) 개념 및 장단점 정리 MSA(Microservices Architecture) 개념을 알기에 앞서 모놀리식(Monolithic) 아키텍처를 이해해둘 필요가 있는데 모놀리식 아키텍처란 한 프로젝트 안에 모든게 다 들어있는 형식을 말하는데 지금 위 프로젝트도 모놀리식이고 실제 업무시에도 대부분의 프로젝트가 모놀리식으로 되어있는 걸 쉽게 확인할 수 있다 반면 MSA는 여러 프로젝트(서비스)를 만든 뒤 그 프로젝트들을 연결해서 사용하는 형태를 말하는데 말로만 들으면 감이 잘 안올테니 예제를 하나 보자면 위 스크린샷은 네이버 접속 시 화면인데 검색 창 하단에 메일, 카페, 블로그, 지식IN 쇼핑, 페이 티비 뉴스 등등이 보인다 여기서 메일, 카페, 블로그 등등이 네이버라는 하나의 프로젝트 안에 들어있는 게 아니라 메일 프로젝트, 카페.. 2021. 1. 19.
스택 힙 메모리 개념 차이점 정리 듣기는 자주 듣지만 개념을 정확히는 모르는게 스택 메모리와 힙 메모리인데 스택(Stack) 메모리와 힙(Heap) 메모리의 개념 및 차이를 차례대로 설명해보자면 먼저 스택 메모리는 메모리를 CPU에서 관리하며, 크기가 정해져 있고 로컬 변수(local variable) 지정 시에 사용한다 다음으로 힙 메모리는 메모리를 사람이 관리하며 크기가 정해져 있지 않고, 글로벌 변수 및 객체와 배열 등에서 주로 사용한다 큰 개념은 다음과 같고 스택 메모리와 힙 메모리의 차이점은 다음과 같다 1. 스택 메모리는 CPU에서 관리, 힙 메모리는 사용자가 관리 2. 스택 메모리는 크기가 정해져 있음, 힙은 정해져 있지 않고 변경도 가능 3. 스택 메모리는 로컬 변수, 힙 메모리는 글로벌 변수, 객체, 배열 등에서 사용 4.. 2021. 1. 19.

반응형