Bom, eu compararia os valores que estão na página com os valores que o usuário alterou. Então eu postaria os valores alterados para o servidor, criaria dinamicamente minha consulta e atualizaria apenas os campos que foram alterados.
Além disso, você definitivamente deve usar transações se estiver atualizando várias tabelas.