Nagy elemszámú űrlap módosítása
Hogyan oldjátok meg azt, hogy egy nagy elemszámú (50+) űrlap módosítása esetén, ahol az egyes űrlapadatok (csoportonként) különböző táblákban vannak tárolva, csak arra az adathalmazra legyen UPDATE, ahol ténylegesen történt módosítás?
Létezik-e legjobb megoldás, vagy helyzete válogatja, hogy mit érdemes csinálni?
Keresgéltem neten és többféle alternatívát ajánlottak, de kíváncsi vagyok a ti gondolataitokra, tapasztalatotokra, bevált módszere(i)tekre.
■ Létezik-e legjobb megoldás, vagy helyzete válogatja, hogy mit érdemes csinálni?
Keresgéltem neten és többféle alternatívát ajánlottak, de kíváncsi vagyok a ti gondolataitokra, tapasztalatotokra, bevált módszere(i)tekre.
Kapcsolat?
UPDATE
-re való tekintettel.Van egy űrlap, ami tartalmaz
Mondok egy példát. Van egy nagy űrlap, amiben egy partner adatait lehet módosítani. Vannak általános adatok, többféle cím (külön mezőben a város, megye, stb.), több kapcsolattartó megadatható, több bankszámla (bank nevével, számlaszámmal, stb.), több szerződés megadható, stb.
Ott az űrlap a felhasználó előtt, de ő mondjuk csak az egyik bankszámlaszámot módosítja, meg a törli a fax telefonszámát, mert megszűntette a partner a fax fogadási lehetőséget.
Értelemszerűen felesleges és erőforráspazaroló elküldeni az adatbázisnak a teljes adathalmazt, mint UPDATE SQL utasítások halmaza, így ki kell válogatni, mely adat módosult az adatbázisban szereplőhöz állapothoz képest.
Ennek módszertanára kérdeztem rá...
Honnan tudod, hogy
Amennyiben a vizsgálódás nem érdekes elküldheted az adatsort teljes egészében. Az sql (mysql, a többit nem tudom) úgyis csak a változott mezőket fogja átírni. A változatlanokat mintegy átlépi. (Ahol van "timestamp" mező, ott látszik a mechanizmus. Update változatlan adattal nem fogja aktualizálni az időbélyeget.)
Előbbi felvetésed teljesen
Utóbbit én is olvastam, a hosszászóló is azt írta (ugyanerre a kérdés felvetésre), hogy MySQL így működik, de nem tudja, hogy többiek miként viselkednek e tekintetben.
Valószínű
Ha mégis a Júzernek kiküldött adatot akarod ellenőrizni, akkor pl. szerializálva mentsd egy külön táblába kiküldéskor, session id-t tudod azonosításra használni, mikor visszajön a POST. Viszont ez szinte biztos, hogy lassabb, mint a sima update, de tudod ellenőrizni, hogy ugyanazt a partnert egyszerre egy Júzer módosítsa.