반응형

2024/07 5

[Oracle] SELECT 1 FROM 의미, SELECT 1 의미, SELECT 1 FROM table 의 의미와 사용 예시

1. 개요"SELECT 1 FROM table" 구문은 주어진 테이블의 각 행에 대해 숫자 1을 반환한다.만약 테이블에 N개의 행이 있다면, 결과로 N개의 1이 반환된다.ex) users라는 3개의 행을 가지는 데이터베이스 테이블이 있다고 가정해보자.idnameage1Alice302Bob253Carol28이 테이블이 있을 때 "SELECT 1 FROM users" 구문을 실행하면 다음과 같은 결과가 반환된다.1111 2. 시사점SQL에서 1은 TRUE를 의미하므로,  "SELECT 1 FROM ..." 형식의 구문은 논리식으로 사용될 수 있다. 3. 사용 예시 - EXISTS 조건보통 이 구문은 WHERE 절의 (NOT) EXISTS 안에 있는 서브쿼리로 사용된다.-- 예시 쿼리 1: 특정 사용자가 존재..

Dev/Database 2024.07.10

[Oracle/MSSQL] 인덱스 종류, 인덱스 종류별 속도, 인덱스 스캔 종류, 인덱스 스캔 종류별 속도

인덱스 스캔? 데이터베이스의 옵티마이저가 데이터를 효율적으로 검색하기 위한 탐색 방법 Unique Index Scan (유일 인덱스 스캔)유일한 값만을 찾기 때문에 가장 빠름.유일한 인덱스가 적용된 컬럼에 대해 특정 값을 조회할 때 사용ex) SELECT * FROM table WHERE unique_column = 'value'Index Range Scan (인덱스 범위 스캔)인덱스의 특정 범위 내에서 여러 행을 찾을 때 사용.일반적으로 조건절에 범위 조건이 포함될 때 사용ex) SELECT * FROM table WHERE indexed_column BETWEEN 'value1' AND 'value2'Index Skip Scan (인덱스 스킵 스캔)인덱스의 선행 컬럼이 조건에 포함되지 않았을 때 사용..

Dev/Database 2024.07.09

[Oracle/MSSQL] WHERE 조건절 순서에 따른 속도차이, 조건절 순서 속도, WHERE 절 속도차이

TABLE에서 INDEX 가 참조하는 컬럼이 A,B,C 일때, 아래 두 쿼리중에 실행속도는 뭐가 더 빠를까? 1. SELECT * FROM TABLE WHERE A = 1 AND B=2 AND C=3 2. SELECT * FROM TABLE WHERE A = 1 AND C=3 AND B=2두 쿼리의 실행 속도는 사실상 동일하다. 왜냐하면, 데이터베이스의 쿼리 최적화 엔진이 WHERE 절의 조건 순서를 자동으로 최적화하여 가장 효율적인 방법으로 쿼리를 실행하기 때문이다. 옵티마이저가 똑똑해서 쿼리의 WHERE절을 살펴보고 키가 있는것을 우선 적용해 검색을 한다. 단, 인덱스의 쿼리가 모두 조건절에 들어있어야 인덱스를 100% 활용한다고 볼 수 있다. ​예를 들어, 다음 두 쿼리는:SELECT * FROM ..

Dev/Database 2024.07.04

[Java/Eclipse] 디버깅 로그, 자바 현재시간, 현재타임, 프로그램 소요시간, java 소요시간, java 시스템시간, java 로그찍기

java 서비스 실행시간을 측정하기 위하여 currentTimeMillis() 라는 시스템 함수를 사용할 수 있다.서비스 호출 전, 후로 시간을 기록한 다음, log4j 를 이용하여 확인할 수 있다.@RequestMapping("/wms/inbound/json/SaveStudentInfo.*")public String SaveStudentInfo(HttpServletRequest request, Map model) throws Exception{ // 시작시간 long start = System.currentTimeMillis(); DataMap map = (DataMap)request.getAttribute(CommonConfig.PARAM_ATT_KEY); // 서비스 실행 Object dat..

Dev/Backend 2024.07.02
반응형