C/S 프로그램이 있는데 PC와 DB가 서로 다른 네트워크에 있습니다.
예를 들어 계산 프로그램이 있는데 Select 100번 , Insert 100번 이렇게 똑같이 한다고 하면,
실행속도 즉, 실행시간의 차이가 있나요?
제 생각으로는 조회든 삽입이든 똑같은 I/O가 일어난다면 똑같은 시간이 걸릴거 같은데요....
일반적으로 dbms 에서 select 는 dml(insert,update,delete )보다 훨씬 빠릅니다. redo, undo 가 없기 때문입니다.
IO라는 것은 write를 말합니다. select의 경우는 read만 하지 write를 하지는 않습니다. write의 경우는 보통 data를 저장(write)할뿐만 아니라 transaction log를 남깁니다. 즉, IO가 2중으로 발생한다는 얘기죠. 물론 그룹을 다른 디스크로 분산해서 IO를 분산할 수는 있지만 그래도 속도에서 select와 비교를 할 수 없죠.
IO라는 것은 write를 말합니다. select의 경우는 read만 하지 write를 하지는 않습니다.
write의 경우는 보통 data를 저장(write)할뿐만 아니라 transaction log를 남깁니다. 즉, IO가 2중으로 발생한다는 얘기죠. 물론 그룹을 다른 디스크로 분산해서 IO를 분산할 수는 있지만 그래도 속도에서 select와 비교를 할 수 없죠.
글쎄요~ where나 order by 조건 없이 쿼리를 할때는 거의 차이를
느끼지 못할지도 모릅니다.
RDMS는 Block단위로 데이타를 가지고 온다고 들었습니다.
더군다나 데이타건수가 무지막지하게 늘어나면서부터는
오히려 insert가 select보다 빠를지도 모르지요~
그런상황에서는 update는 거의 죽음이라고 보시면 정확합니다~~~ ㅡ,.ㅡ