Naja es ist schon sinnvoll den Kampf in einer Session ablaufen zu lassen, wenn du ohnehin den Großteil der Daten (als Session) speichern würdest (was ja auch die HP des Spielers zutrifft, die Monsterhp ständen sonst in der DB?).
Aber: Du musst die Fälle bedenken, was passieren soll, wenn der Spieler unterbricht. Löscht er die Sessiondaten ist ja alles weg, also der "Überlebenstrick" schlechthin. Falls das nicht schlimm sein sollte ok. Kampf wiederholen würde ich auf jeden Fall nicht, da man sonst so lange probiert bis es klappt. Aber falls zB. die Spieler sich auf ner Map bewegen und (3,3) ist zB. ein Engpass (Tor oä.) und dort steht ein Boss, dann könnte man hinlaufen, den Kampf abbrechen und weiterlaufen (Boss steht noch, aber man wäre weiter).
Ich nehm jedoch an, dass dieses "Aber" der auschlaggebende Grund dafür ist, weiterhin immer zu speicher. Sessions würden nur insofern Erleichterung bringen, dass du dir Tables anlegen für die Monster sparst (oder wie du das machst), da sich nach dem Kampf ja nur HP uä. vom Spieler ändern, die temporären Gegner aber nicht gespeichert werden müssen.
Daher würde ich persönlich weiterhin immer speichern. Allein den Komfort mittendrin zu unterbrechen und später weiterzumachen (ich seh das als gewolltes Feature an ^^) würde ich ungern missen. Außerdem sind Datenbanken recht schlau, daher wird es von der Geschwindigkeit kaum einen Unterschied machen. Man könnte wie gesagt am meisten an Struktur sparen (Kampf in bestimmtes DB Format brechen und entsprechend Tables / Datensätze anlegen). Aber naja, überleg dir lieber wie das am perfomantesten klappt und du hast eine gute Lösung ohne das "Aber". :)