Isolation Level의 필요성 DBMS를 혼자서 사용한다면 문제가 없겠지만, 대부분의 프로그램이 여러명이 사용하고 있으며 상대방이 변경된 부분이 반영이 안되거나 혹은 반영이 이상하게 되어서 화면상의 데이터가 꼬이는 문제등이 발생하게 된다. 내가 실행하고 있는 이 트랜잭션 안에서 중간에 다른 트랜잭션의 결과가 반영이 되어, 치명적인 연산 버그등이 발생하게 되면 이미 사용할 수 없는 수준으로 폐기처리 해야 할 것이다. 예를 들어, A라는 값이 1000이라는 값이 있고, B라는 값이 2000이라는 값이 있는데 처음 시작했을 때, A+B를 해서 3000이라는 값을 저장하였다. 그러나 다른 트랜잭션이 A의 값을 1500으로 변경하여, 마지막에 한번 더 A+B를 해서 3500으로 변경이 되었다면 처음과 마지..
토드(Toad)라고 불리우는 유명한 Oracle용 DBMS Tool이 존재하는데 워낙 사용성이 뛰어나지만, 가격이 비싸기 때문에 많은 사람들이 눈물을 머금고, SQLDeveloper를 쓰거나 혹은, 어둠의 경로로 몰래 받아서 쓰는 사람들이 존재할 것이다. 그만큼 DBMS 툴로서, 상징적인 존재인 제품인데 MySQL 혹은 MariaDB용 버전도 존재한다. 다행인것은, 무료 DBMS 인 Mysql, MariaDB 처럼 툴 역시 무료로 제공 된다. https://www.toadworld.com/m/freeware/1469 사이트에 접속을 하게 되면, 위와 같은, 다운로드 화면이 나오게 된다. 다운로드를 누른다고, 한번에 자료를 주진 않는다 (오라클과 동일) download 버튼을 누르면, 위와 같이 로그인 화..
오라클에도 존재하듯, MySQL에도 SUBSTRING 기능이 존재한다. 이 SUBSTRING은 거의 모든 언어나 DBMS에 자체적으로 내장이 되어 있고, 사용방법도 비슷하다. SUBSTR이라고 써도 되고, SUBSTRING으로 써도 된다. 둘은 완전히 동일하다. 사용방법SUBSTR(str,pos), SUBSTR(str FROM pos), SUBSTR(str,pos,len), SUBSTR(str FROM pos FOR len) 1. 인자값 설명 str 원본 문자열 pos 시작 위치값 len 가져올 길이값 2. 사용사례 SUBSTR(str, pos) SELECT SUBSTR('동해물과백두산이',5); 결과) 백두산이 해석) 5번째 문자열부터 읽으시오. SUBSTR(str FROM pos) SELECT SUB..
High Water Mark 개념 HWM(High Water Mark)은 테이블의 라이프 사이클에서 사용된 블록을 표시하기 위해서 사용되는 용어입니다. 모든 DB가 사용하지 않으며, 대표적으로 오라클(Oracle)에서 사용하는 용어입니다. 기본적으로 HWM은 데이터의 가장 오른쪽(가장 최신)에 있는 블록을 뜻합니다. 그럼 이게 무엇이 중요한가? 바로 데이터가 많아지면 많아질수록 HWM의 개념이 중요지기 시작합니다. 데이터를 Delete 데이터를 삭제(Delete)하면 그 데이터는 어떻게 될까요? 우리 머리속에서는 그 공간을 쏙 없애버릴 것 같지만 사실은 그 공간을 비운채로 지나가게 되어 있습니다. 마치 현생으로 생각하면 빈집들이 있는 것처럼 구멍이 뽕뽕 뚫려버린 공간이 생기는 것이죠. 문제는 이 놈들도 ..