C# 을 사용해오면서 SqlDataReader , SqlDataAdapter 이 둘의 대해서 어떠한상황에서 무엇을쓰는지정확이알지는 못하고
SqlDataReader 는 속도가 더 빠르고 읽기 전용데이터를 얻기위해 사용되어지고
SqlDataAdapter 는 다양한기능들이있지만 속도가 약간떨어진다 라고 알고있었다
차이점이 무엇인지 자세히 알아보려합니다
인용 : http://stackoverflow.com/questions/1676753/sqldataadapter-vs-sqldatareader
SqlDataReader
- Holds the connection open until you are finished (don't forget to close it!).
- Can typically only be iterated over once
- Is not as useful for updating back to the database
- 연결을 유지하고 끝을 마쳐야한다 ( 닫는걸 까먹지마세요!)
- 일반적으로 한번만 포맷이 가능하다
- DB로 다시 업데이트하는데 유용하지않다
SqlDataAdapter/DataSet
- Lets you close the connection as soon it's done loading data, and may even close it for you automatically
- All of the results are available in memory
- You can iterate over it as many times as you need, or even look up a specific record by index
- Has some built-in faculties for updating back to the database
- 데이터를 로드하는 즉시 열거나 닫을수 있다
- 모든 결과는 메모리로 제공된다
- 필요한 만큼 여러번 반복이 가능하고 인덱스를 찾을때까지 특정레코드를 반복할수있다
- 데이터를 업데이트할수있는 기능이 있다
So really it depends on what you're doing, but I tend to prefer a DataReader until I need something that's only supported by a dataset. SqlDataReader is perfect for the common data access case of binding to a read-only grid.
요약해보자면 선택지에 달려있는거 같습니다 dataset에 지원되는 무언가가 필요하기전까지는 DataReader를 선호한다고 하네요
WRITTEN BY
,