데이터 처리 속도 질문?
본문
데이터를 db에 기록을 두가지 형태로 정하고요
데이터 개수는 = 만건 동일
1. 한 필드 안에 만건의 데이터를 압축해서 기록한것 (행 1건)
2. 한필드당 한개씩 만건의 데이터를 생성하는것 (행 만건)
이렇게 두가지 종류가 있다고 가정하고요
이걸 쿼리를 통해 데이터를 찾는걸 만든다 했을때
1번 같은경우 압축된걸 불러와 압축된것을 풀고 찾기위해 for문이든 뭐든 돌리는 형태?
2번도 역시 쿼리를 통해 검색?
두가지를 봤을때 제가 생각하기에는 둘다 for문이든 쿼리로 하든 별 차이가 없어보이는데요.... 혹시
1번 형태가 속도가 빠를수가 있나요?
아 질문을 쓰다보니 두서가 안맞네요 이해가 되셨으면 좋겠는데...
결론은 1번 형태가 빠른가 2번이 형태가 빠른가 인데요 ㅋㅋ
db 부분? 잘아시는분 계시면 조언좀 부탁드립니다 꾸벅~
답변 3
1번의 경우는 불러오는건 빠르지만 그거 loop돌아서 처리하려면... 그게 더 느릴거같네요
2번의 경우가 index잘 걸고 최적화만 되면 더 나은거같아요.
근데 한필드에 만개의 정보 넣는다면 어떤정보일까요? 괜히 그게 궁금하네요
본적이 없어서
db의 속도는 크게잡자면 데이터의 크기와 검색의 범위에 따라 달라집니다
1번의 경우에는 db를 어찌됐든 하나만 불러오면 끝나고
2번의 경우에는 만건의 데이터를 읽어와야합니다
그러면? 딱보기에도 1번이 속도적으로 압승이죠
다만 한 데이터 행에 만건의 데이터가 어떻게 들어가냐가 중요하죠 한컬럼,한행 당 할당된 데이터양이 한정되어있기에...
한 필드안에 넣고 그 필드에 FULL TEXT 인덱스속성을 걸어주면 속도가 빨라집니다. 이때에는 for문이 아니라. 쿼리를 쓰면 됩니다.