하는거랑 뭔차이임? X=10 and Y>10 쿼리면 예를들어 네이티브 쿼리로 한번에 뽑는거랑 findByX(10)하고 for문으로 Y>10해서 추가로 거르기 - dc official App
쿼리 공부 더 하고 오자
순수 쿼리로만 뽑는거랑 findBy로 가져와서 메모리에서 연산하는거랑 차이 질문인데..ㅠ - dc App
기본적인 사고는 쿼리를 기반으로 해야된다
그럼 님은 findBy로 메모리로 가져와서 연산하는건 반대하는 거임? 최대한 쿼리로 뽑아먹기? - dc App
질문이 이상한데. 네이티브 쿼리면 쿼리고 orm이면 orm이지. 네이티브쿼리는 y필터링 걸고 orm은 필터링을 dbms가 아니라 어플리케이션 단에서 수행하니 완전히 다를수밖에?
일단 네이티브쿼리로 y필터링 걸든 orm으로 y필터링 걸든 사실 그정도에선 성능차이 거의안남. y속성 필터링을 db단에서하냐 어플리케이션단에서 하냐의 차이는 dbms부담이나 어플리케이션 서버단 부담이나 뭐 인덱스의 사용이나 이런거로 갈리는데 기본적으로 dbms에서 필터링안하고 어플리케이션서버로 다 쏘게되면 그 네트워크 자원 소모도 만만찮아서 왠만하면 dbms단에서 필터링하셈. 대신 아주복잡한 연산같은걸 dbms에서 하지말고 어플리케이션 서버단으로 가져와서 시켜야지
감사여 제 질문의 의도가 그거였음 둘중에 언제 뭘써야할지!! - dc App
dbms는 디스크 I/O 시간이 느리고 메모리는 연산이 빨라서 - dc App
디스크io는 사실 똑같을수도 있는게 y가 인덱스에 있는 항목이 아니면 결국 디스크 랜덤읽기를 수행해서 다 가져온뒤 필터링을 함. 다만 인덱스에 y속성이 존재한다면 인덱스에서 바로 필터링 수행하고 정말 해당하는 데이터만 디스크랜덤읽기를 하니깐 효율적이겟지
이해했음 이건 정답이 없는듯 각각이 인덱스걸려있는 칼럼인지 ? 메모리로 올리는 튜플이 얼마나 많은지? 요구하는 연산이 sql관점에서 처리하기 얼마나 복잡한지 등등 종합적으로 봐야할듯 - dc App
Vendor기능 쓰는 순간 쓰레기지 가릿??
계산식이 반복인데 요걸 sql로 찍어낸다??걍 프로시저나 패키지로 만들고 그거나 써 ㅋㅋ 홈쇼핑마냥 ㅇㅇ