2011-08-22 2 views
1

시스템에 대한 약 24 개의 데이터 필드를 저장하는 응용 프로그램이 있습니다. 이 정보를 모두 삽입하는 하나의 큰 SQL 문을 사용하는 것이 더 좋을까요? 아니면 날짜가 입력 될 때 많은 작은 문을 사용해야합니까?많은 작은 SQL 호출 또는 소수의 대형 SQL 호출은 없습니까?

예 : CPU/메모리/HDD는 하나의 그룹이고 다른 하나는 고객 연락처/전화/주소입니다. 모든 정보를 얻은 다음 테이블에 정보를 만드는 것이 더 낫지 않습니까? 아니면 데이터가 입력 될 때 첫 번째 그룹을 입력해야합니까? 그런 다음 두 번째 그룹을 입력 하시겠습니까?

필드는 모두 같은 페이지에 표시되며 각 그룹에 대한보기가 만들어집니다.

+0

"필드는 모두 같은 페이지에 있습니다."- "페이지"는 무엇을 의미합니까? UI? 저장? 데이터베이스 테이블이 [6NF] (http://en.wikipedia.org/wiki/Sixth_normal_form)로 완전히 정규화 된 경우 업데이트 할 테이블을 24 개까지 가질 수 있으며 하나씩 수행해야합니다. – onedaywhen

답변

2

대신 몇 가지 작업을하고 있기 때문에 그렇지 않으면 (AN INSERT 항상 느린 다음 몇 UPDATE들, 일을 할 것, 하나 INSERT 않습니다 (하나에서 사용할 수있는 모든 데이터를 가지고) 하나의) 더 복잡한 당신이 쓸 수 있습니다. 귀하의 경우에는 속도 차이가 미미할 것입니다.

+0

해답 뒤에있는 설명 주셔서 감사합니다. – bobby

1

삽입 및 업데이트의 경우 작은 삽입과 다중 업데이트가 아닌 대용량 삽입을 사용하는 것이 좋습니다.

크고 복잡한 조인 또는 하위 선택을 수행 할 때 큰 쿼리가 작은 쿼리보다 비효율적 인 경우가 있습니다. 그리고 두 형식을 테스트하여 어느 것이 더 효율적인지 확인해야합니다.

드물 긴하지만 잠금/경합이 많이 발생하거나 복잡한 외래 키 관계 또는 기타 제약 조건이있는 드문 경우에도 작은 쿼리가 삽입 및 업데이트에 더 좋습니다.

2

모든 필드에 대해 단일 INSERT하는 것이 좋습니다. 모든 것을 한 페이지에있는 경우

관련 문제