2014-07-14 2 views
0

mysql 업데이트 쿼리를 실행하여 데이터베이스의 정보를 업데이트하려고합니다. 내 목표는 업데이트되기 전에 이전 데이터를 가져 와서 업데이트하기 전에 변수에 저장하는 것입니다.업데이트 쿼리 전에 이전 데이터를 빠르게 가져 오는 방법은 무엇입니까?

2 개의 쿼리를 수행하지 않고 더 빨리 수행 할 수 있습니까?

//grab previous time 
$grab_previous_time = $dbg->prepare("SELECT timestamp FROM form WHERE id = :id"); 
$grab_previous_time->(array(':id' => $id)); 

$previous_time = $grab_previous_time->fetchColumn(); 
$previous_time = $previous_time['timestamp']; 

//Update data 
$update_form = $dbh->prepare("UPDATE `form` SET `timestamp` = :time WHERE id = :id"); 
$update_form->execute(array(':time' => $time, ':id' => $id)); 
+0

? 이미 얼마나 빨리 벤치마킹 했습니까? –

+0

나는 @Dagon을 완전히 인식하지 못했다고 생각하지만 – bryan

+2

사람들은 현재의 접근 방식이 얼마나 빨라 졌는지 또는 속도가 전혀 문제가되지 않는다면 X를 수행하는 가장 빠른 방법을 항상 요구하고 있습니다. –

답변

0

@ 대곤은 내 검색어에 대해 비정상적인 점이 없으며 속도가 내가하는 일에 문제가되지 않아야한다고 지적했습니다.

-1

아니요, 유일한 해결책은 설명하는 것입니다.

+1

나, 그 잘못, 몇 가지 다른 방법, 트리거 및 저장 프로 시저 두 가지 이름이 있습니다 –

+0

트리거는 호출 스크립트에 정보를 반환 할 수 없습니다, 그게 어딘가 이전 데이터를 저장하는 것입니다. – Barmar

+0

그리고 저장 프로 시저는 간단한 SELECT 문을 실행하는 것보다 이점을 가져 오지 않습니다. – epicdev

관련 문제