본문 바로가기

Database

(46)
[MSSQL] Update 쿼리실행시 "쿼리 최적화 중 쿼리 프로세서에 스택 공간이 부족합니다." 에러발생 Update 쿼리시 약 3000천 라인의 엄청나게 많은 CASE WHEN THEN 쿼리 사용결과 에러발생 메시지 8621, 수준 17, 상태 1, 줄 258 쿼리 최적화 중 쿼리 프로세서에 스택 공간이 부족합니다. 쿼리를 단순하게 만드십시오. MSSQL에서는 쿼리자체의 길이제한이 적용되어 있어 발생하는 에러로 보인다. 해결방안은 UPDATE 구문을 약 500개씩 분리해서 실행하면 해결이 된다. 결국은 쿼리자체의 문자열 길이을 줄이면 실행된다.
[MSSQL] image DataType 컬럼은 UNION, INTERSECT, EXCEPT 사용불가 MSSQL DBMS에서 컬럼의 DataType이 image(이미지)이면 UNION, INTERSECT, EXCEPT 쿼리 사용시 에러가 발생한다. 에러코드 : 메시지 5335, 수준 16, 상태 1 에러메세지 : 데이터 형식 image은(는) 비교할 수 없으므로 UNION, INTERSECT 또는 EXCEPT 연산자의 피연산자로 사용할 수 없습니다. 하지만 UNION ALL 은 문제없이 사용가능하다. UNION, INTERSECT, EXCEPT 사용시 에러가 발생하는 것을 보면 중복값 비교시 image 컬럼은 지원이 안되서 발생하는 에러로 추정된다.
MySQL 5.7 로 업그레이드시 확인사항 MySQL 5.6.x이 EOL 로 인하여 클라우드 진영에서는 MySQL 5.7.x 이나 8.x 으로 업그레이드를 진행중이거나 진행해야 할 것이다. (AWS 에서는 Aurora MySQL 1.x -> 2.x로 업그레이드를 진행해야 한다.) 일반적으로 설치된 MySQL 5.6.x 이하 버전도 성능,보안을 위해 업그레이드를 권장한다. 업그레이드 후 확인사항 1. root@localhost 접속시 접속불가능 이슈 보안이 강화되면서 DBMS가 설치된 자체 서버에서 실행되는 쉘스크립트나 DBA 관리자 접속, 모니터링 툴에 접속이 안되는 경우가 발생할 수 있다. 새로운 root user의 접속정보를 추가하면 해결된다. CREATE USER 'root'@'127.0.0.1' IDENTIFIED BY 'root-pass..
PostgreSQL 15 출시 PostgreSQL 15가 출시되었다. 13/14버전을 사용해본적이 없는데 벌써 15버전이 출시가 되었다. 2022년 6월 30일 - PostgreSQL 15 Beta 2 릴리즈 눈에 띄는 기능만 정리하자면 1. MERGE SQL 명령어 도입 - https://www.postgresql.org/docs/15/sql-merge.html - MERGE 문과 비슷한 INSERT ON CONFLICT 문이 존재했지만 MERGE 문이 훨씬 직관적이여서 도입된 것 같다.(오라클의 힘인 것인가;;) 2. 백업/복구시 Zstandard 압축 유형 추가 3. JSON 기능 및 함수 추가 - https://www.postgresql.org/docs/15/functions-json.html#FUNCTIONS-SQLJSON-..
[SQLServer] varbinary 컬럼 용량확인함수 - datalength datalength 함수를 이용하면 varbinary 컬럼의 용량을 byte 로 확인할 수 있다. select id , file_data -- varbinary column , datalength(file_data) as file_byte_size -- 용량확인 from [dbo].[tb_file] order by id desc 환경정보 SQL Server 2012
[Mariadb] spring session 사용시 java.sql.SQLException: Deadlock found when trying to get lock 발생 Spring Session(SpringBoot) 을 사용하다 간헐적으로 Deadlock이 발생하는 것을 확인하였다. 2022-02-14 11:30:00.144 DEBUG 23456 --- [nio-8080-exec-5] k.c.s.mapper.Mapper.selectCategorySql : ==> Parameters: 999999999(String), 소분류(String) 2022-02-14 11:30:00.146 ERROR 23456 --- [nio-8080-exec-7] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception ..
윈도우환경에서 Postgresql Command Line Tools(psql,pg_dump) 설치하기 개발PC에서 pg_dump로 Postgresql DB DDL 또는 데이터를 백업하거나 psql 로 접속해서 테이블 속성을 보고 싶을 경우가 생길것이다. 하지만 Postgresql Command Line Tools 설치파일이 따로 존재하지 않는다. Command Line Tools만 설치할 수 있는 방법은 Postgresql 서버 설치파일을 다운받고 컴포넌트 선택화면에서 Command Line Tools를 선택하면 된다. 설치환경 Widnow 10 Pro Postgresql Command Line Tools - 14.1 Postgresql Server - 13.1 https://www.enterprisedb.com/downloads/postgres-postgresql-downloads 접속하여 Window..
SQL 비교연산자 <> 와 != 차이 결론부터는 얘기하자면 차이는 없다. 동일한 연산이 되지만 문법이 ANSI SQL 이라고 한다. 자바언어가 메인인 개발자여서 자연스럽게 != 문법을 사용해 왔었던 것도 있고 iBatis,MyBatis 프레임워크를 사용하면서 xml문법을 왠만하면 쓰지 않는것으로 습관이 됐었던 것 같다. 그리고 경험해본 DBMS에서 != 가 안되는 경우가 없었던 것이 제일 큰 이유인 것 같다. 경험상 != 문법이 문제 없었던 DBMS ORACLE SqlServer MySQL Mariadb Postgresql Greenplum Cubrid Tibero Netezza Informix