지금 lock scheme이 allpages로 되어 있는데 locking이 자주 발생해서 datarows로 바꾸려고 합니다. datarows는 어떤 시스템에서 사용하는것이 적합하고 단점은 무엇이 있는지 알려주세요.. allpages, datapages, datarows에 대해 각각의 장단점도 알려주시면 감사하겠습니다. 문서를 찾아봐도 잘 없네요..ㅠㅠ 감사합니다
1. All Page Lock
lock : index와 data page를 모두 lock
clustered index : index leaf page가 data page이므로 sort가 되어 있어서 range query에 막강한 성능
을 자랑한다. data page의 physical delete가 가능한다. 단점으로는 split가 빈번하다
2. Data Page Lock(data rows lock and data page lock)
lock : data page 또는 row에만 lock
clustered index : 맨 처음 만들때만 sort순서대로 들어가고 이후에는 순서 관계없어 cluster ratio가 떨어짐
lock contention이 APL보다 적음
insert ,update,delete가 동시에 다수 발생할경우 좋음.
단점 lock의 갯수가 많아짐.
physical delete가 안되고 logical delete이면 forward update가 발생하여
gabage data가 발생하고, 용량이 증가함
주기적인 관리 작업 reorg이 필요함.
정말 감사합니다~
많은 도움이 됐습니다.
APL에서 DRL로 막바로 바꾸시나요? 서버에 메모리가 충분하시고 maint 시간이 여유가 있다면 별문제 없지만 그렇지 않다면 sp_monitorconfig 보면서 number of lock (144bytes per lock) 조정하시고 DRL로 인한 fragmentation과 이를 관리하기 위한 reorg 시간을 고려하셔야 합니다. APL에서 DOL로 먼저 바꿔보시고 DRL로 옮겨보세요. 그리고 Space가 여유있다면 미리 적당한 reservepagegap, fillfactor, exp_row_size를 정해놓는것이 나중을 위해 좋습니다. DOL로 바꾼뒤에 framentation에 따른 performance문제가 발생할 수 있는데 optdiag를 이용하면 테이블이나 인텍스 fragmentatioin을 볼 수 있습니다. 시스템테이블을 쿼리해도 되구요.