답변 6개
어떤 프로그램이던지
DB와 connection의 I/O 빈도를 줄여주는게 성능/비용측면에서 상책입니다.
단, 단일쿼리가 너무 크면 서버의 설정값에 영향을 받을수있으니 참고하세요
중간에 적절한 분량에 따라 나눠서 업데이트/실행 하는 것도 고려해보세요
수백개의 쿼리내용이 될경우
수십개정도의 내용으로 끊어서 쿼리를 생성/실행하도록 카운트하는것도 방법이겠죠
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
댓글을 작성하려면 로그인이 필요합니다.
배열 크기와 업데이트해야 하는 행 수에 따라 다릅니다.
배열이 상대적으로 작고 업데이트할 행 수도 적은 경우 루프 또는 foreach 문을 사용하여 배열의 각 값에 대해 별도의 업데이트 쿼리를 실행하면 심각한 성능 문제가 발생하지 않습니다.
그러나 배열이 크거나 업데이트할 행 수가 많은 경우 배열의 각 값에 대해 별도의 업데이트 쿼리를 실행하면 많은 수의 데이터베이스 쿼리를 실행해야 하므로 성능 문제가 발생할 수 있습니다. .
이러한 경우 언급한 대로 모든 열과 값을 한 번에 설정하여 단일 쿼리에서 관련 행을 모두 업데이트하는 것이 보다 효율적인 접근 방식입니다. 이렇게 하면 데이터베이스 쿼리 수가 최소화되고 성능이 향상됩니다.
다음은 단일 쿼리에서 여러 행을 업데이트하는 방법의 예입니다.
</p>
<p>UPDATE tablename SET column1 = 'value1', column2 = 'value2', column3 = 'value3' WHERE id IN (1, 2, 3);</p>
<p>
서로 다른 변수를 기반으로 여러 행을 업데이트하는 데 유사한 접근 방식을 사용할 수 있습니다.
항상 쿼리 성능을 테스트하고 예상대로 작동하는지 확인하는 것이 좋습니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
어쩌다 한번 하는 거라면
크게 신경 안 쓰셔도됩니다.