본문 바로가기

프로그래밍114

[MSSQL] 특정 컬럼이 포함된 테이블 찾는 쿼리 SELECT T.name AS table_name, C.name AS column_name FROM sys.tables AS T INNER JOIN sys.columns AS C ON T.object_id = C.object_id WHERE C.name = '찾을컬럼명' ; ​ ​ 전체 컬럼 확인 쿼리 SELECT T.name AS table_name, C.name AS column_name FROM sys.tables AS T INNER JOIN sys.columns AS C ON T.object_id = C.object_id ; 2023. 3. 7.
[오라클] 스키마 내의 모든 테이블의 데이터 건수 조회 개발 완료 후, 운영 DB 서버로 데이터를 이관하는 경우, 데이터가 정상적으로 이관 되었는지 검증하기 위한 하나의 방법. [참고용] ​ 테이블명과 데이터 건수가 리스트 형태로 출력됨. ​ SELECT TABLE_NAME, TO_NUMBER( EXTRACTVALUE( XMLTYPE( DBMS_XMLGEN.GETXML( 'SELECT COUNT(*) C FROM '||TABLE_NAME)), '/ROWSET/ROW/C')) ROW_CNT FROM USER_TABLES ORDER BY TABLE_NAME; 2023. 3. 7.
[DB] 테이블 스키마 컬럼 정보 조회 쿼리 1. MSSQL 테이블 스키마 주요 정보 쿼리 SELECT A.TABLE_NAME AS 테이블명 , C.VALUE AS TABLE_COMMENT , A.COLUMN_NAME AS 컬럼명 , A.IS_NULLABLE AS 널여부 , A.DATA_TYPE AS 데이터타입 , A.CHARACTER_MAXIMUM_LENGTH AS 길이 , A.NUMERIC_PRECISION AS 숫자전체길이 , A.NUMERIC_SCALE AS 소수점이하길이 , A.COLUMN_DEFAULT , B.VALUE AS COLUM_COMMENT FROM INFORMATION_SCHEMA.COLUMNS A LEFT OUTER JOIN SYS.EXTENDED_PROPERTIES B ON B.major_id = object_id(A.TA.. 2023. 3. 7.
[오라클] 락 정보 조회 쿼리 및 락 세션 KILL 1. 락 정보 조회 쿼리 1.1 SQL 정보 제외 SELECT VLO.OBJECT_ID , VLO.SESSION_ID , VS.SERIAL# , VLO.SESSION_ID || ',' || VS.SERIAL# AS LOCK_ID , VLO.ORACLE_USERNAME , VLO.OS_USER_NAME , DO.OBJECT_NAME , VS.PROGRAM , VS.STATE , VS.STATIS , DO.OBJECT_TYPE , DECODE(VLO.LOCKED_MODE, 1,'NULL', 2,'ROW-SHARE', 3,'ROW-EXCLUSIVE', 4,'SHARE', 5,'SHARE-ROW-EXCLU', 6,'EXCLU') AS LOCK_MODE , VS.SQL_ID FROM V$LOCKED_OBJECT .. 2023. 3. 7.
[SQLite] SQLite 의 모든 것 (1부) - 소개 및 FAQ 소개 http://sqlite.com - SQLite 는 독립적이고, 서버가 필요 없으며, 특별한 설정을 할 필요도 없는, 트렌젝션이 가능한 SQL 데이타베이스 엔진으로 꾸준히 개발중인 Library 입니다. SQLite 의 코드는 공개되어 있고, 상업적이든 개인적이든, 어떤 용도로도 무료로 사용하실 수 있습니다. 현재 SQLite 는 꽤 유명한 프로젝트를 포함하여, 생각하는 것 이상으로 많은 프로그램에서 사용하고 있습니다. [Adebe] - Photoshop Lightroom 제품에서 파일 포맷으로 SQLite 를 사용하고 있습니다. 그리고 Adebe Integrated Runtime(AIR) 에서도 SQLite 는 표준으로 사용됩니다. 또한 Acrobat Reader 에서도 SQLite 를 사용하는 .. 2023. 3. 7.
[MARIADB] 쿼리 프로파일링 MySQL은 프로파일링(Profiling)기능이 있습니다. 프로파일링은 런타임시 병목구간을 찾아내는 행위를 의미합니다. MySQL의 프로파일링은 만든 질의문을 실행할 때, 진행별 상황별 걸리는 시간을 체크해줍니다. 이것이 가능한 이유는 information_schema에 PROFILING 테이블이 존재해서 SET PROFILING = 1;로만 지정하면 그 이후로 실행되는 모든 질의문을 프로파일링하여 이 테이블에 로깅합니다. 프로파일링으로 실제 질의문이 실행하는데 걸리는 시간, 테이블에 접근하는 시간, CPU점유율, Memory 점유율등 다양하게 해석할 수 있습니다. SHOW PROFILES; 를 통해 이전에 실행한 질의문들의 Query_id를 알수 있고, information_schema.profilin.. 2023. 3. 7.
[MARIADB] 테이블 및 컬럼 정보 조회 쿼리 #테이블정보 조회 SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = SCHEMA(); #컬럼정보 전체 조회 SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = SCHEMA() AND TABLE_NAME = '테이블명' ORDER BY ORDINAL_POSITION; #컬럼정보 간단 조회 SELECT TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION AS NO, COLUMN_NAME, COLUMN_TYPE, COLUMN_DEFAULT AS `DEFAULT`, IS_NULLABLE, COLUMN_KEY AS `KEY`, COLUMN_COMMENT FROM INFOR.. 2023. 3. 7.
[데이터베이스] 다양한 DB에서의 validation Query Database validationQuery notes hsqldb - select 1 from INFORMATION_SCHEMA.SYSTEM_USERS Oracle - select 1 from dual DB2 - select 1 from sysibm.sysdummy1 mysql - select 1 microsoft SQL Server - select 1 (tested on SQL-Server 9.0, 10.5 [2008]) postgresql - select 1 ingres - select 1 derby - values 1 H2 - select 1 Firebird - select 1 from rdb$database 2023. 3. 7.
[mySQL] MySQL에서 대용량 테이블의 경우 성능 개선을 위한 10 가지 방안 MySQL에서 대용량 테이블의 경우 성능 개선을 위한 10 가지 방안 대용량 테이블을 운용하는 경우 도움이 될만한 아티클 "Ten ways to improve the performance of large tables in MySQL"이 있어, 이 블로그에 정리해 봅니다. 아래 가지 10가지 방법을 잘 고민해 보면 좋은 도움을 받을 수 있을 것 같습니다. 오늘은 성능 문제를 일으키는 원인이 되는 대용량 테이블의 성능을 개선하는 방법을 살펴본다. 여기의 조언들은 일부는 많은 테이블을 가진 큰 데이터베이스에 적용할 수 있지만 대부분의 경우는 개별적으로 특별히 큰 테이블이 더 큰 문제라는 것이다. 테이블의 내용 변경의 속도는 테이블 사이즈가 커질수록 줄어드는 것을 일반적으로 알려진 사실이다. 아래는 B+Tree.. 2023. 3. 7.
[MariaDB] 데이터 타입 MySQL 에서 사용하는 데이터 타입에 대해서 알아본다. CHAR 데이터 타입 CHAR와 VARCHAR(VARiable length CHARacter string)은 모두 텍스트 문자열을 허용하고, 필드의 크기를 제한한다. 두 타입의 차이점은 CHAR 필드의 모든 문자열은 크기가 정해진다는 것. 즉 더 작은 문자열을 입력하면 공백으로 채워진다. 반면 VARCHAR의 경우, 텍스트를 채우지 않으며, 입력한 텍스트 크기에 맞게 가변적으로 크기를 가진다. 그러나, VARCHAR는 각 값의 크기를 추적할 수 있는 약간의 오버헤드가 필요하기 때문에 모든 데이터의 크기가 비슷하다면, CHAR가 더 효율적이다. TYPE 사용되는 바이트 예제 CHAR(n) 정확히 n ( 2023. 3. 7.