DB
-
[MySql] rownum 생성 방법DB/MySql 2020. 11. 11. 20:13
mysql 에는 rownum 이라는 키워드가 없다, 그래서 변수 선언을 통해서 임의로 rownum 을 표시할 수 있다. rownum 생성 방법 SELECT @rownum:=@rownum+1 as no table.* FROM table where (@rownum:0)=0 where 절에서 변수를 초기화 하고 사용하는 방법이다. select 절보다 where 절에서 먼저 실행되기 때문에 where 절에서 변수 선운 후 사용 가능하다. 또는 아래와 같은 set 키워드로 변수를 선언 가능하다. SET @rownum:=0; SELECT @rownum:=@rownum+1 as no table.* FROM table;
-
[MySql] 컬럼리스트 및 테이블 정보 조회 쿼리DB/MySql 2020. 10. 9. 18:06
mysql Table 정보검색 및 column정보 검색 1 테이블 정보검색. select * from INFORMATION_SCHEMA.tables where table_schema='데이터베이스명'; => show tables; 2. 컬럼명 검색. select * from INFORMATION_SCHEMA.columns where table_schema='데이터베이스명' and table_name='테이블명' order by ordinal_position; => show full columns from 테이블명 ;
-
[Oracle] Select SQL 실행순서DB/Oracle 2020. 5. 15. 15:32
Select SQL 실행순서(오라클 SQL 기준) 1) FROM table(s) [alias] - FROM 절에 사용된 테이블을 인식하여 데이터 딕셔너리에서 관련된 정보들을 파악 2) [WHERE condition(s)] - WHERE절에서 조건에 맞는 데이터를 추출 3) [GROUP BY column(s)] - GROUP BY절이 추가되면 GROUP BY절에 사용된 항목별로 데이터의 정렬이 일어남 4) [HAVING condition(s)] - HAVING 절은 GROUP BY절로 정렬이 된 데이터를 대상으로 조건을 정의. 5) SELECT {*, column(s) [alias],...} - 대부분의 RDBMS가 ROW(로우)기준 저장구조입니다. SELECT이전까지 원하지 않는 칼럼까지도 데이터베이스의..
-
Mysql 실행계획(explain) 보는법DB/MySql 2020. 5. 11. 17:41
table 어떤 테이블에 대한 접근을 표시하고 있는지는 table 필드에 표시되어있다. id id는 SELECT에 붙은 번호를 말한다. MySQL은 조인을 하나의 단위로 실행하기 때문에 id는 그 쿼리에 실행 단위를 식별하는 것이다. 따라서 조인만 수행하는 쿼리에서는 id는 항상 1이 된다. select_type select_type은 항상 SIMPLE 이된다. 복잡한 조인을 해도 SIMPLE이 된다. 서브쿼리나 UNION이 있으면 id와 select_type이 변한다. SIMPLE: 단순 select ( union이나 서브쿼리를 사용하지 않음 ) PRIMARY: 가장 외곽에 있는 select문 UNION: union에서의 두번째 혹은 나중에 따라오는 select문 DEPENDENT UNION: unio..
-
MySql 옵티마이져 실행 개요DB/MySql 2020. 5. 11. 17:15
쿼리 실행 절차 사용자로부터 요청된 SQL 문장을 잘게 쪼개서 MySQL 서버가 이해할 수 있는 수준으로 분리한다. SQL의 파싱 정보(파스 트리)를 확인하면서 어떤 테이블부터 읽고 어떤 인덱스를 이용해 테이블을 읽을지 선택한다. 두번째 단계에서 결정된 테이블의 읽기 순서나 선택된 인덱스를 이용해 스토리지 엔진으로부터 데이터를 가져온다. 첫 번째 단계를 "SQL 파싱(Parsing)"이라고 하며, MySQL 서버의 "SQL 파서"라는 모듈로 처리합니다. 만약 SQL 문장이 문법적으로 잘못됐다면 이 단계에서 걸러집니다. 또한 이 단계에서 "SQL 파스 트리"가 만들어집니다. MySQL 서버는 SQL 문장 그 자체가 아니라 SQL 파스 트리를 이용해 쿼리를 실행합니다. 두 번째 단계는 첫 번째 단계에서 만들..