CS(15)
-
[CS 스터디] 5주간의 네트워크 스터디 회고
목차JSCODE 모의면접 신청 계기스터디 진행 방식잘한 점아쉬운 점앞으로는 이렇게 JSCODE 모의면접 신청 계기10월 말쯤 생각을 했을 때 11월 초에는 프로젝트와 이력서, 포트폴리오가 마무리되는 일정이었다. 따라서 11월 한 달 동안은 부족했던 컴퓨터공학 지식을 채우는 데 전념하려 했다. 그 당시 Java, Spring, 운영체제, 네트워크, 자료구조/알고리즘, 데이터베이스 하나씩 나의 지식의 정도를 확인했을 때, 그 중에서 네트워크가 가장 모호하고 개념이 명확하게 잡히지 않는 상태였다. 그래서 한 달 동안은 네트워크에 전념해 전공생과 현직자 분들과 스터디를 함에 있어서 제일 잘하고 싶다는 목표를 세우게 되었다. 스터디 진행 방식총 5주간 일주일에 한 번 진행했다. 평균적으로 4명이서 진행했고 1명..
2024.12.02 -
[업무에 바로 쓰는 SQL 튜닝] 4.2.6 다수 쿼리를 UNION 연산자로만 합치는 나쁜 SQL문
목차❌ 문제의 SQL 문😎 실행 계획 살펴보기⭕ UNION ALL 연산자로 변경해 보자🚀 정리 ❌ 문제의 SQL 문요구사항 : 성이 Baba이면서 성별이 M인 사원 데이터와 성이 Baba이면서 성별이 F인 사원 데이터를 합해서 조회하는 쿼리를 작성해 주세요.select 성별, 사원번호 from 사원 where 성별 = 'M' and 성 = 'Baba'unionselect 성별, 사원번호 from 사원 where 성별 = 'F' and 성 = 'Baba'; 수행 결과+--------+--------------+| 성별 | 사원번호 |+--------+--------------+| M | 11937 || M | ..
2024.10.07 -
[업무에 바로 쓰는 SQL 튜닝] 4.2.5 습관적으로 중복을 제거하는 나쁜 SQL 문
목차❌ 문제의 SQL 문😎 실행 계획 살펴보기⭕ DISTINCT 키워드를 제거해 보자🚀 정리 ❌ 문제의 SQL 문요구사항 : 사원의 사원번호, 이름, 성, 그리고 부서 관리자의 부서번호를 중복 없이 조회하는 쿼리를 작성해 주세요.select distinct 사원.사원번호, 사원.이름, 사원.성, 부서관리자.부서번호from 사원join 부서관리자 on (사원.사원번호 = 부서관리자.사원번호); 수행 결과총 24건이며 소요 시간은 0초에 가깝게 나왔다.😎 실행 계획 살펴보기1. id 값이 둘 다 1이므로 서로 조인하고 있다.2. 부서관리자 테이블의 type이 index로 인덱스 풀 스캔을 하고 있다.3. 사원 테이블의 type은 eq_ref으로 사원번호(PK)를 사용해 1건의 데이..
2024.10.04 -
[업무에 바로 쓰는 SQL 튜닝] 4.2.4 열을 결합하여 사용하는 나쁜 SQL 문
목차❌ 문제의 SQL 문😎 실행 계획 살펴보기⭕ 열을 결합하는 과정을 제거하고, 열을 분리해 보자🚀 정리 ❌ 문제의 SQL 문요구사항 : 사원 테이블에서 성별의 값과 1칸의 공백, 성의 값을 모두 결합한 결과가 ‘M Radwan’인 데이터를 조회하는 쿼리를 작성해 주세요.- CONCAT 함수는 여러 문자열을 연결하는 데 사용SELECT * FROM 사원 WHERE CONCAT(성별, ' ', 성) = 'M Radwan'; 출력 :총 102건이고 소요 시간은 약 0.13초가 나왔다. 😎 실행 계획 살펴보기사원 테이블에만 접근하여 데이터를 가져오고 있다. 문제의 SQL문에서는 WHERE 조건절로 데이터에 접근하는 반면, 실행계획을 확인해 보니 type 항목이 ALL 테이블 풀 스캔을 하고 있..
2024.10.02 -
[업무에 바로 쓰는 SQL 튜닝] 4.2.3 형변환으로 인덱스를 활용하지 못하는 나쁜 SQL 문
목차❌ 문제의 SQL 문😎 실행 계획 살펴보기⭕ 형변환이 발생하지 않도록 SQL을 수정해 보자🚀 정리 ❌ 문제의 SQL 문요구사항: 급여 테이블에서 현재 유효한 급여 정보만 조회하는 쿼리를 작성해 주세요.사용여부 열의 값이 1인 데이터가 유효한 급여 정보입니다.SELECT COUNT(*) FROM 급여 WHERE 사용여부 = 1; 출력:1건이 출력되었고 데이터는 총 42,842건이며 sql 소요시간은 약 0.48초로 나타났다. 😎 실행 계획 살펴보기key항목이 I_사용여부로 출력되고, type항목이 index이므로 인덱스 풀 스캔 방식으로 테이블의 데이터를 찾고 있다. 그리고 filtered항목이 10이므로 MySQL엔진으로 가져온 데이터 중 10%를 추출해서 최종 데이터를 출력했다는 것..
2024.09.13 -
[업무에 바로 쓰는 SQL 튜닝] 4.2.2 사용하지 않는 함수를 포함하는 나쁜 SQL문
목차❌ 문제의 SQL 문😎 실행 계획 살펴보기⭕ 불필요한 IFNULL() 함수를 제거해 보자🚀 정리 ❌ 문제의 SQL 문요구사항 : 사원 테이블에서 성별 기준으로 몇 명의 사원이 있는지 확인하는 쿼리문을 작성해 주세요.SELECT IFNULL(성별, 'NO DATA') AS 성별, COUNT(*) 건수 FROM 사원 GROUP BY IFNULL(성별, 'NO DATA') 만약 성별의 값이 NULL이라면 NO DATA라고 출력할 수 있도록 IFNULL() 함수를 사용하여 구현했다.2개의 행이 출력되었고, 약 0.12초가 소요되었다. 😎 실행 계획 살펴보기I_성별_성 인덱스로 인덱스 풀 스캔 방식을 수행하며, Extra 항목이 Using temporary로 임시 테이블을 생성한다는 것을 알 ..
2024.09.10