목록전체 글 (164)
Data Modeling Evangelist Kaien Kim's Blog
안녕하세요. 반갑습니다. 하나의 테이블에서 사용하지 않는 row들중 키(pk)값이 min값을 가져와서 update를 차례로 하는 프로그램을 작성하다가. 한가지 문제가 조금 생겼습니다. c/s 환경상 여러 pc에서 동시에 처리가 되니깐... 동일한 min값을 두 pc에서 사용하지 못하도록 해당 row에 락(lock)을 걸려고 select 문에 for update를 사용하였습니다. 근데 제가 이것을 잘 이해하지 못해서 락이 제대로 걸리지 않습니다. 아래 저의 적용예를 보시고 많은 조언 부탁드립니다. 예) 1. 정상적으로 lock 됨. select serial_no /* 사용하지 않는 row중 가장 작은 row */ from stock_temp where use_flag = 'N' for update ; ==..
USE AdventureWorks GO EXEC sp_helpfile -------- 1) EXEC sp_spaceused -------- 2) DBCC sqlperf(logspace) -------- 3) ALTER DATABASE AdventureWorks MODIFY FILE ( NAME = AdventureWorks_Data, SIZE = 500 ) EXEC sp_helpfile -------- 4) ALTER DATABASE AdventureWorks MODIFY FILE ( NAME = AdventureWorks_Data, FILEGROWTH = 100, MAXSIZE = 500 ) GO -------- 5) ALTER DATABASE AdventureWorks MODIFY FILE ( NAM..
지난 6개월간 매주 월요일 저녁시간을 할애한 결과가 이 날 공개됩니다. 많이 부끄럽지만, 한 편으로는 자랑스럽기도 합니다. 김동원 선생님 감사합니다.
SQL Server에서 컬럼 값의 길이를 가져와야 할 경우, 크게 - 그냥 길이 - byte수 로 구분할 수 있다. 오라클에서는 1) SELECT LENGTH('모델링월드') FROM DUAL; 2) SELECT LENGTHB('모델링월드') FROM DUAL; 일 경우 1)은 5, 2)는 10을 리턴한다. 이건 이전 부터 알고있었는데, 요걸 SQLServer에서 사용할 일이 생겼다. 열심히 찾아 보았다. ^^; 역시 있었다. 문법도 오라클과 동일하다. DATALENGTH ( expression ) -인수 expression 임의 데이터 형식의 식입니다. -반환 값 int 1) SELECT LEN('모델링월드') 2) SELECT DATALENGTH('모델링월드') 일 경우 1)은 5, 2)는 10을 리..
인간의 생각하는 능력이 언어라는 것을 만들었지만, 거꾸로 언어가 인간의 사고 능력을 지배하게 되죠. 오라클 성능 세계에서도 마찬가지입니다. 용어에 대한 정확한 이해가 없으면 문제를 100% 이해할 수도 없을뿐더러 잘못된 지식을 믿게 됩니다. 예를 들어 볼까요? Explain Plan과 Execution Plan의 차이를 설명할 수 있습니까? Scan과 Lookup의 차이는 무엇입니까? Histogram의 의미는 무엇입니까? Lock과 Enqueue의 의미를 구분할 수 있습니까? SQL문과 Cursor의 차이를 설명할 수 있습니까? Event라는 용어가 언제 쓰이는지 설명할 수 있습니까? 용어을 100% 정확하게 설명할 수 있다면 그 자체로도 성능 문제에 대한 상당한 통찰력을 가지고 있다고 볼 수 있습니다..