안녕하세요. 항상 궁금한 점을 해결하는데 도움주셔서 미리 감사드립니다.


다름이 아니라, 

같은 프로시져로 같은 파리미터 값을 주었을때 QA과 운영서버의 차이가 너무 납니다.


OS: 2012 R2

DB : 2014 ( SP2 )


QA서버는 SAN으로 되어 있고, 운영서버는 SSD 입니다.

QA서버에서 첫번째 수행할때 42초 걸리고 두번째부터 0.4초 .. 0.8초걸리며

운영서버에서는 첫번째 수행때 1.4초 걸리며 그 뒤로는 0.3초..세번재는 0.3초 걸리네요..






맨 처음 수행한 프로시져를 다시 수행할때는 모두 빠르구요..

어떤 테이블의 데이터를 읽어올때... 디스크에서 읽냐... 메모리에서 읽냐의 차이를 보았습니다.


물론 첫번째 생기는 파라미터 값에 의하여 bad plan으로 인한 플랜이 잘못되서 인지 알았는데...

플랜이 같은 것을 확인하고는...  데이터캐싱을 의심하게 되었습니다.





테이블 'Worktable'. 검색 수 3, 논리적 읽기 수 3235, 물리적 읽기 수 0, 미리 읽기 수 18, LOB 논리적 읽기 수 0, LOB 물리적 읽기 수 0, LOB 미리 읽기 수 0.

테이블 'A'. 검색 수 1557, 논리적 읽기 수 12570, 물리적 읽기 수 165, 미리 읽기 수 0, LOB 논리적 읽기 수 0, LOB 물리적 읽기 수 0, LOB 미리 읽기 수 0.

테이블 'B'. 검색 수 0, 논리적 읽기 수 7785, 물리적 읽기 수 1959, 미리 읽기 수 0, LOB 논리적 읽기 수 0, LOB 물리적 읽기 수 0, LOB 미리 읽기 수 0.

테이블 'C'. 검색 수 1, 논리적 읽기 수 159140, 물리적 읽기 수 0, 미리 읽기 수 0, LOB 논리적 읽기 수 0, LOB 물리적 읽기 수 0, LOB 미리 읽기 수 0.



테이블 'Worktable'. 검색 수 3, 논리적 읽기 수 3192, 물리적 읽기 수 0, 미리 읽기 수 0, LOB 논리적 읽기 수 0, LOB 물리적 읽기 수 0, LOB 미리 읽기 수 0.

테이블 'A'. 검색 수 1534, 논리적 읽기 수 12801, 물리적 읽기 수 0, 미리 읽기 수 0, LOB 논리적 읽기 수 0, LOB 물리적 읽기 수 0, LOB 미리 읽기 수 0.

테이블 'B'. 검색 수 0, 논리적 읽기 수 7774, 물리적 읽기 수 0, 미리 읽기 수 0, LOB 논리적 읽기 수 0, LOB 물리적 읽기 수 0, LOB 미리 읽기 수 0.

테이블 'C'. 검색 수 2, 논리적 읽기 수 28767, 물리적 읽기 수 1, 미리 읽기 수 20453, LOB 논리적 읽기 수 0, LOB 물리적 읽기 수 0, LOB 미리 읽기 수 0.

테이블 'Workfile'. 검색 수 0, 논리적 읽기 수 0, 물리적 읽기 수 0, 미리 읽기 수 0, LOB 논리적 읽기 수 0, LOB 물리적 읽기 수 0, LOB 미리 읽기 수 0.


---> SAN환경에서 첫번째 실행시 위에 있는게 물리적 읽기수가 있어 오래 걸린거 같은데요.
    아래껀.. SSD이라 물리적 읽기 수보다 미리 읽기 수가 좀 있네요.. 이건.. 이미 테이블이 데이터가 모두 메모리로 올라가 있다는 뜻인가요?  제가 생각하고 있는게 맛는지요?  .. 그리고 마지막에 SSD에서는 Workfile이 생겼네요? 이것의 영향일수 있나요?

혹시 현재 테이블들의 데이터들이 메모리에 올라가 있다는 것을 확인하는 방법이나 쿼리가 있는지요?
프로시져 테스트할때 수행시간이 QA와 운영서버 차이가 나서..

혹시 비교 할수 있는 방법이나. 아니면 제가 다른것을 체크 못한게 있는지요? 검토하는데 너무 이상해서요...

문의드려 봅니다.



프로시져 첫번째 수행
  1번쿼리 수행 (처음) 1번쿼리 수행 (2회) 1번쿼리 수행 (3회)
QA서버 42486 462 482
운영서버 1492 323 319
다른프로시져 수행
  2번쿼리 수행 (처음) 2번쿼리 수행 (2회) 2번쿼리 수행 (3회)
QA서버 44671 458 464
운영서버 361 316 315
제일처음 프로시져 다시 수행
  1번쿼리 수행 (처음) 1번쿼리 수행 (2회) 1번쿼리 수행 (3회)
QA서버 453 506 476
운영서버 315 316 315
No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 38622
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 20785
10223 프로시저 호출 로그 [2] 봉술의달인 2018.05.24 1306
» 데이터 캐싱에 대하여 ( 일반 SAN과 SSD차이가 이렇게 나는지요? [1] 공유맨 2018.05.23 896
10221 날짜별 합계인데 시간이 다른건 어떻게 해야 하나요.... [1] 똘스또이 2018.05.23 1387
10220 쿼리 문의드립니다! [2] szl0828 2018.05.21 977
10219 쿼리 질문입니다. [1] 얼음왕자 2018.05.21 844
10218 쿼리 문의 드립니다. [2] l1j2e3 2018.05.18 929
10217 특정 시간에 실행된 프로시저 내역 조회 방법이 궁급합니다. [1] vitill 2018.05.16 1092
10216 중복된 값 select시 한행만 표시여부 [4] 노란하늘 2018.05.16 1315
10215 (Microsoft SQL Server, 오류: 950) 오류해결방법에 대한 문의입니다. [1] 목동의별 2018.05.16 2515
10214 쿼리 혹은 프로시저 작성 [2] 얼음왕자 2018.05.15 1034
10213 row_number 질문입니다. [1] 데이지 2018.05.15 1115
10212 쿼리 질문드립니다. [1] 레저본능 2018.05.12 918
10211 mssql 2005 -> 2016 마이그레이션 fksngoqe 2018.05.09 1596
10210 백업/복구 했을 때 테이블 디자인 질문드립니다. [1] 베로 2018.05.08 913
10209 SQL Server 통신 암호화 [1] aamadeus 2018.05.08 2174
10208 쿼리 질문을 드립니다. [2] 머루달래 2018.05.03 1173
10207 쿼리 질문드립니다. [2] 파워유저 2018.05.03 1275
10206 순번 레코드 중 첫번째 NULL 이 아닌 값을 구하는 문제 [2] 으라타 2018.05.01 1062
10205 다시 질문 올립니다 [4] sxcz00 2018.05.01 1447
10204 간단한 초보 SQL 질문입니다 DkMino 2018.05.01 1513





XE Login