Sky Archive

DBMS 5

[SQL] MSSQL 트랜잭션 로그파일 비우는 방법

* 운영 및 유지보수 하다 보면 트랜잭션 로그파일이 꽉 차서 오류가 발생하게 된다. (MSSQL) 오류가 발생하면 사용량을 확인해서 로그를 축소해주는 작업이 필요하다. org.springframework.jdbc.UncategorizedSQLException: ### Error updating database. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 데이터베이스 'KINGPORK'의 트랜잭션 로그가 'LOG_BACKUP'(으)로 인해 꽉 찼습니다. ### The error occurred while setting parameters ### SQL: INSERT INTO KINGPORK (KING, PORK, DATE) VALUES(?,?,GET..

DBMS/MsSQL 2022.03.30

[MySQL] 페이징 처리 limit 사용시 COUNT(*) 쉽게 하기 - SQL_CALC_FOUND_ROWS & FOUND_ROWS

SQL_CALC_FOUND_ROWS & FOUND_ROWS 페이징 처리를 위해 limit 사용 시 전체 게시물의 수를 알기 위해 쿼리를 한번 더 해야 한다. 1. 해당 조건을 만족하는 게시물의 전체 수 조회 2. 그 페이지에서 보여줄 내용 조회 여기서 조건이 복잡하다면 MySQL에서 제공하는 function을 사용해 보자. SELECT 최상단에 SQL_CALC_FOUND_ROWS 라는 옵션만 주고 FOUND_ROWS() 를 사용하면 된다. 쿼리는 마찬가지로 두번이지만 두 번째 쿼리는 훨씬 빠르다. mysql> SELECT SQL_CALC_FOUND_ROWS * FROM tbl_enchovy WHERE id > 100 LIMIT 10; mysql> SELECT FOUND_ROWS(); 이렇게 하면 첫번째 ..

DBMS/MySQL 2021.10.20

[Oracle] Oracle과 MSSQL 데이터 타입 비교

Oracle-MSSQL 간 데이터 타입 변환 시 참고할만한 데이터 타입의 대한 표입니다.😊 Microsoft SQL Server Oracle Comment BIGINT NUMBER(19) BINARY RAW - BIT NUMBER(3) - CHAR CHAR - DATETIME DATE Fractional parts of a second are truncated DECIMAL NUMBER(p[,s]) - FLOAT FLOAT(49) - IMAGE LONG RAW - INTEGER NUMBER(10) NUMBER range is -2,147,483,647 to 2,147,483,647 MONEY NUMBER(19,4) - NCHAR NCHAR - NTEXT LONG - NVARCHAR NCHAR - NUME..

DBMS/Oracle 2021.07.06

[MySQL] smallint? tinyint? int의 종류와 범위

int의 종류와 범위, 저장공간은 아래와 표를 참고하세요.😊 MySQL, SQL Server, Azure SQL Database, Parallel Data Warehouse 등 에서 사용되는 데이터 타입입니다. Data type Range Storage bigint -2^63 (-9,223,372,036,854,775,808) to 2^63-1 (9,223,372,036,854,775,807) 8 Bytes int -2^31 (-2,147,483,648) to 2^31-1 (2,147,483,647) 4 Bytes smallint -2^15 (-32,768) to 2^15-1 (32,767) 2 Bytes tinyint 0 to 255 1 Byte 출처 https://docs.microsoft.com/k..

DBMS/MySQL 2021.07.06

[MySQL] 대소문자 구분하여 비교 및 검색 (BINARY)

MySQL은 비교나 검색을 수행할 때 기본적으로 대소문자 구분 없이 비교 및 검색이 가능하다. 이에 따라 아이디나 패스워드 등 대소문자가 엄격히 구분되어야 하는 경우엔 서로 다른 값으로 인식되도록 처리가 필요하다. 예시 1 - SELECT절에서 대소문자 비교 SELECT 'X' = 'x'; 실행결과 - 대문자와 소문자의 비교 결과가 true이다. 1 예시 2 - WHERE절에서 대소문자 비교 SELECT 'ID' AS ID FROM MEMBER WHERE ID = 'id' 실행결과 - 소문자로 검색해도 검색결과가 도출된다. ID 해결 방안 - BINARY BINARY 문자열 타입은 문자가 아닌 바이트를 기준으로 비교나 검색을 할 수 있다. 방법 1. 테이블 생성 시 해당 필드에 BINARY 타입 사용 M..

DBMS/MySQL 2021.07.01