2009-10-26 8 views
2

매일 업데이트되는 SQL 테이블이 있습니다. 어느 것이 더 좋습니까? 기존 테이블을 삭제하고 이전 값과 새 값을 다시 삽입하거나 변경하거나 기존 값을 업데이트하고 새 값을 추가하는 것이 더 좋을까요?DELETE, INSERT 대 UPDATE || INSERT

+2

어떤 의미로 더 좋습니까? 속도? 용이함? 유지 관리 가능성? –

+0

당신이 생각한 것은 전체 테이블이 아닌 테이블에서 값을 삭제하는 것입니다. –

답변

3

테이블의 기존 값을 확실히 업데이트하십시오.

일부 값을 변경하기 위해 자주 테이블을 삭제하고 다시 만들지 마십시오.

삽입, 업데이트 및 삭제를 사용하여 테이블에 새 값을 삽입하고 변경된 기존 값을 업데이트하고 더 이상 필요없는 테이블을 삭제해야합니다. 정말로 테이블을 비우려면 where 절을 사용하지 않고 "[tablename]에서 삭제"를 수행하면 테이블의 모든 값이 지워지지만 전체 테이블을 삭제하고 다시 만들지는 않습니다.

7

대부분의 데이터가 변경되고 무결성 검사, 롤백 등이 필요하지 않은 경우 truncating your table이 가장 효율적입니다. 그리고 모든 것을 다시 삽입하십시오.

최상의 해결 방법은 상황과 요구 사항에 따라 다릅니다. 그러나 일반적으로 테이블을 모두 삭제하지 않는 것이 좋습니다.

0

왜 이전 테이블을 삭제하고 이전 값을 다시 넣으시겠습니까? & 업데이트를 삽입하십시오. 달성하려는 목표에 대한 자세한 내용을 통해보다 나은 답변을 얻을 수 있습니다.

2

당신이 필요로하는 것에 따라 ... 필요한 모든 것이 데이터의 "라이브"몸체, 예를 들어 활성 레코드 인 경우 완벽한 제거/교체가 제대로 작동합니다.

이제 기록이 필요하면 업데이트/삽입 경로를 수행해야하지만 비활성 상태 인 모든 기록에는 그러한 기록이 필요한 플래그가 필요합니다.

나는 데이터를 잃어 버리지 않기 때문에 거의 항상 업데이트/삽입 방법을 선택할 것이며, 누군가가 필요로 할 때가 아니라면 그 순간은 없습니다.

관련 문제