분류 전체보기(255)
-
[업무에 바로 쓰는 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 -
[업무에 바로 쓰는 SQL 튜닝] 4.2.1 기본키를 변형하는 나쁜 SQL문
4장은 문제가 있는 SQL문과 개선된 SQL문을 소개해주고 있다. 팀원과 한 파트씩 나눠서 발표 스터디를 진행하기로 했고, 오늘은 그 첫 번째 사례이다. 나는 도커 컨테이너 하나를 생성하고 안에 실습할 데이터베이스를 미리 넣어두었다. 그랬더니 컨테이너에 접속만 하면 쉽게 실습할 수 있어서 아주 편리했다! 다음은 목차이다. 앞으로도 목차는 비슷하게 흘러갈 예정이다.❌ 문제의 SQL 문😎 실행 계획 살펴보기⭕ 사원번호(기본키)가 인덱스를 타도록 수정해 보자🚀 정리 ❌ 문제의 SQL 문[주의] MySQL에서 문자열의 인덱스는 1부터 시작한다. 요구사항 :사원번호가 1100으로 시작하면서 사원번호가 5자리인 사원의 정보를 모두 출력해 주세요.SELECT * FROM 사원 WHERE SUBSTRI..
2024.09.08 -
[프로그래머스] 2019 KAKAO BLIND RECRUITMENT 후보키
후보키문제https://school.programmers.co.kr/learn/courses/30/lessons/42890더보기입출력 예 제한사항relation은 2차원 문자열 배열이다.relation의 컬럼(column)의 길이는 1 이상 8 이하이며, 각각의 컬럼은 릴레이션의 속성을 나타낸다.relation의 로우(row)의 길이는 1 이상 20 이하이며, 각각의 로우는 릴레이션의 튜플을 나타낸다.relation의 모든 문자열의 길이는 1 이상 8 이하이며, 알파벳 소문자와 숫자로만 이루어져 있다.relation의 모든 튜플은 유일하게 식별 가능하다.(즉, 중복되는 튜플은 없다.) 문제 분석• 후보키 : 릴레이션의 튜플을 유일하게 식별할 수 있는 속성 또는 속성의 집합으로 유일성과 최소성을 만족함• ..
2024.07.31 -
[리트코드] 51. N-Queens
51. N-Queens문제https://leetcode.com/problems/n-queens/description/더보기Example 1:Input: n = 4Output: [[".Q..","...Q","Q...","..Q."],["..Q.","Q...","...Q",".Q.."]] Example 2:Input: n = 1Output: [["Q"]] Constraints:1 문제 분석n * n 크기의 체스판에 n명의 여왕이 서로 공격할 수 없도록 위치시키는 문제로 퀸이 위치한 자리에서 같은 행, 열, 대각선에 다른 퀸이 없어야 한다.• 'Q' : 여왕 위치• '.' : 빈칸 입력n : 여왕 수 출력순서에 상관없이 가능한 모든 정답을 출력 접근 방법아이디어 ➡️ 백트래킹퀸은 같은 행, 열, 대각선에 다..
2024.07.29 -
[리트코드] 37. Sudoku Solver
37. Sudoku Solver문제https://leetcode.com/problems/sudoku-solver/description/더보기Example 1:Input: board = [["5","3",".",".","7",".",".",".","."], ["6",".",".","1","9","5",".",".","."], [".","9","8",".",".",".",".","6","."], ["8",".",".",".","6",".",".",".","3"], ["4",".",".","8",".","3",".",".","1"], ["7",".",".",".","2",".",".",".","6"], [".","6","."..
2024.07.27 -
[리트코드] 131. Palindrome Partitioning 회문
131. Palindrome Partitioning문제https://leetcode.com/problems/palindrome-partitioning/description/더보기Example 1:Input: s = "aab"Output: [["a","a","b"],["aa","b"]] Example 2:Input: s = "a"Output: [["a"]] Constraints:1 s contains only lowercase English letters. 접근 방법 ➡️ 백트래킹1. 현재 탐색 중인 문자열의 인덱스가 문자열의 길이와 동일한 경우 결과에 담는다.2. 두 개의 포인터인 start와 end를 사용하여 중간으로 이동하면서 문자열이 회문인지 확인한다. 코드 구현실패 코드class Solution ..
2024.07.26