2022/12 22

[SQL] 실행 계획 보는 법

실행 계획이란? 사용자가 SQL을 실행하여 데이터를 추출하려고 할 때 옵티마이저가 수립하는 작업 절차 SQL Statement가 요구한 데이터를 추출하기 위해 DBMS가 차례로 수행하는 Acess 과정 SQL을 실행한 후 실행 계획을 판단하여 이 SQL이 어떠한 방식으로 실행되는지 확인 가능 쿼리문의 실행 계획을 확인하는 방법 1️⃣ EXPLAIN PLAN, AUTOTRACE, SQL TRACE 로 확인하는 방법 2️⃣ DBMS 관리 툴을 활용하여 실행 계획을 확인하는 방법 실행 순서 실행 계획은 여러 단계로 이루어져 있는데 이를 스텝이라고 함 각각의 스텝에는 그 단계에서 어떤 명령이 수행되었고 총 몇건의 데이터가 처리되었으며 이 처리를 위해 얼마만큼의 비용과 시간이 소요되었는지 표시함 1번 수행 👉 2..

프로그래밍/SQL 2022.12.16

[JavaScript] JavaScript 배열의 요소를 삭제

JavaScript에서 배열의 요소 삭제하는 법 1️⃣ pop 함수를 사용하여 배열의 마지막 요소를 삭제 2️⃣ shift 함수를 사용하여 배열의 첫 번째 요소를 삭제 3️⃣ splice 함수를 사용하여 배열 요소를 삭제 4️⃣ filter 함수를 사용하여 조건에 일치하는 새 배열을 생성 5️⃣ delete 연산자를 사용하여 배열 요소를 삭제 pop 함수를 사용하여 배열의 마지막 요소를 삭제 pop() 함수는 배열의 마지막 요소를 삭제 반환 값은 삭제된 요소의 값 var arr = ['A', 'B', 'C', 'D']; console.log('*****pop 함수 호출 전 배열의 길이*****'); console.log(arr.length); // 4 var popResult = arr.pop(); co..

[Java] 날짜, 시간 구하기 (LocalDate, LocalTime, LocalDateTime)

java.time Java8 이전에서는 보통 Calendar를 사용하고, Date/long/String 으로 변환후 사용하는 방법을 많이 사용함 Java8 이후에는 LocalDate, LocalTime, LocalDateTime 등이 추가되어 날짜, 시간 관련 코드를 짜기가 더 쉬워짐 날짜와 시간 객체 생성 LocalDate - 날짜 LocalDate currentDate = LocalDate.now(); // 컴퓨터의 현재 날짜 정보를 저장한 LocalDate 객체를 리턴한다. LocalDate targetDate = LocalDate.of(int year, int month, int dayOfMonth); // 파라미터로 주어진 날짜 정보를 저장한 LocalDate 객체를 리턴한다. 결과 : 1986..

[JavaScript] 문서의 DOM이 모두 로드된 후 실행하기 (로딩의 순서)

브라우저가 HTML 파일을 읽어오는 순서 사용자에 의해 웹브라우저 시작 👉 브라우저의 웹문서 읽기 👉 DOM 생성 👉 $(document).ready 메소드 실행 👉 각 요소들이 로드되기 시작 👉 모든 요소의 로드가 완료되면 $(window).load 메소드 실행 됨 Ready $(document).ready 브라우저에서 DOM이 완성된 시점 DOM트리 생성 직후이므로 window.onload보다 빠름 (HTML의 소스코드만의 로딩이 끝나서 어떻게 표현할 것인지나 내부속성이 완성) $(document).ready(function(){ // 태그 등의 셋팅이 완료되었을 시점에 이벤트 발생 }); DOMContentLoad document.ready와 비슷함 window.addEventListener('DO..

[Java] 10진수를 16진수로 변환

1. Integer.toString(), Integer.toHexString()으로 16진수 변환 Integer 타입은 다음과 같이 Integer.toHexString(decimal), Integer.toString(decimal, 16)을 사용하여 16진수로 변환할 수 있음 public class Example1 { public static void main(String[] args) { int decimal = 1234; String hex = Integer.toHexString(decimal); System.out.println(hex); hex = Integer.toString(decimal, 16); System.out.println(hex); } } Output: 4d2 4d2 2. Long...

[MySQL] 이전 데이터 조회

MySQL 이전 시간 데이터 조회 실수로 데이터를 날린경우... 있어서는 안되지만 이미 날렸다면 복구를 하면 됨🥲 이전 시간 데이터 조회를 통해 충분히 복구가 가능할 것임 // 1분전 데이터 조회 SELECT * FROM 테이블명 WHERE 시간컬럼명 >= DATE_ADD(NOW(), INTERVAL -1 MINUTE) // 10분전 데이터 조회 SELECT * FROM 테이블명 WHERE 시간컬럼명 >= DATE_ADD(NOW(), INTERVAL -10 MINUTE); // 한시간전 데이터 조회 SELECT * FROM 테이블명 WHERE 시간컬럼명 >= DATE_ADD(NOW(), INTERVAL -1 HOUR); // 하루전 데이터 조회 SELECT * FROM 테이블명 WHERE 시간컬럼명 >=..

프로그래밍/SQL 2022.12.07

[Java] 숫자 3자리마다 콤마(,) 찍기

DecimalFormat을 이용한 방법 DecimalFormat을 이용하여 문자열 포맷을 정의할 수 있음 문자열 형식은 DecimalFormat 객체를 생성할 때 인자로 전달 3자리마다 콤마를 찍으려면 아래처럼 "###,###" 포맷으로 설정하면 됨 DecimalFormat decFormat = new DecimalFormat("###,###"); String str = decFormat.format(123456789); System.out.println(str); str = decFormat.format(10100); System.out.println(str); Output 👇 123,456,789 10,100 소수 출력 만약 소수도 출력하고 싶다면, ".##" 처럼 포맷을 입력하면 됨 "###,###..

[Java] 임의의 영숫자 문자열 생성

간단하게 임의의 영숫자 문자열 생성하기 임의의 영문 대소문자 + 숫자 문자열을 생성하고 싶은 경우 아래의 예시를 참고하기 // 임의의 영숫자 문자열 생성 SecureRandom random = new SecureRandom(); Stream randomStrings = Stream.generate(() -> random .ints(48, 122 + 1) .filter(i -> (i = 65) && (i = 97)) .limit(20)// 자릿수 .collect( StringBuilder::new, (builder, codePoint) -> builder.appendCodePoint(codePoint), StringBuilder::append) .toString() ); randomStrings.limit..