前一陣子@Richard Harris gave a great answer for a similar question,但我相信我的情況稍有不同。MySQL - 結合2個查詢有不同的SET和WHERE子句
正如你所看到的,我有2個連續的UPDATE語句針對相同的表和字段,但具有不同的SET和WHERE子句。
$this->db->query("
UPDATE user_profiles
SET reputation = reputation + 15
WHERE user_id = $answer_author_id;
");
$this->db->query("
UPDATE user_profiles
SET reputation = reputation + 2
WHERE user_id = $user_id;
");
我不知道這是否可以組合成一個查詢,或者如果這需要進一步的規範化。另外,這些連續查詢效率太低嗎?如果不是,我不會費心去嘗試將其合併成一個查詢。
您對此的看法非常感謝。
再次感謝@derek;) - 任何想法提高這個解決方案的效率與2個查詢?只是好奇你曾經對這種情況進行過基準測試 – pepe
只是使用我的數據庫軟件通過SSH進行了快速基準檢查(對於代碼與'2查詢'的平均5個服務器響應) - 結果:你的代碼(ave。 64.1毫秒) - 2個查詢(大約162.6毫秒) - 相當令人印象深刻的不是? – pepe