2014-04-03 3 views

답변

3

예, 있습니다

UPDATE pojo SET field1=?, field2=?, field3=?, ... WHERE ... 

처럼 모든 필드에 대한

말은, 내 POJO의 field1을 변경했지만, UPDATE 수행됩니다 . PostgreSQL은 일부 장소에서 그것들을 최적화하려고 시도하지만 지원은 약간 제한적입니다.

한편으로는 weird effects with locking and foreign keys이 발생할 수 있습니다.

또 다른 이유로 인덱스 행이 업데이트되지 않도록하고 그렇지 않은 경우 인덱스 업데이트를 강제 실행합니다.

일반적으로 유일한 키 필드에 대한 문제는 아니지만 TOASTed 필드를 업데이트에서 제외하지 않고 같은 값으로 업데이트하면 다시 TOAST 데이터를 다시 쓰게됩니다 전적으로. 이것은 공간 및 디스크 I/O 낭비입니다.

가능한 경우 그러한 업데이트를 피하십시오. 실제로 변경 한 필드 만 업데이트하십시오.

관련 문제