|
Posted by Kurt on 05/30/07 06:45
On 29 mai, 23:31, Erland Sommarskog <esq...@sommarskog.se> wrote:
> Kurt (nicolas.agrap...@gmail.com) writes:
> > I'd like advices about an idea I add to resolve a problem. thanks to
> > you in advance for yours answers.
> > I have a database with tables that I load with flat file. The size of
> > each table is 600 Mb. The flat file are the image of an application
> > and there is no updated date or created date on any table. So my
> > tables are just a copy of the data from the flat file.
>
> > Now I'd like to create an History Table. So I have to determine which
> > lines changed and which one did'nt.
> > As I don't have any date on my row the only answer I had unil know was
> > to check each column on each row to see if any data changed. If the
> > data changed I add a new line in my history date.
>
> > My idea is to add a checksum column in both table on all columns. To
> > know if any data change I just have to check my PK + my checksum
> > column.
> > Do you think that is a good idea ? Is checksum a quick function or
> > not ?.
>
> Neither checksum() nor binary_checksum() are very useful. I think they
> based on XOR, and they would too often say a row is unchanged when it
> has not. It would be a lot safer to compare all columns?
>
> Exactly how do update your tables? To blow all existing data away and
> reload, or do you INSERT new, update existing ones etc? In such case a
> timestamp column could work for you. (Timestamp here has nothing to
> do with date and time.)
>
> --
> Erland Sommarskog, SQL Server MVP, esq...@sommarskog.se
>
> Books Online for SQL Server 2005 athttp://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books...
> Books Online for SQL Server 2000 athttp://www.microsoft.com/sql/prodinfo/previousversions/books.mspx- Masquer le texte des messages précédents -
>
> - Afficher le texte des messages précédents -
Hello,
I read on the msdn website that BINARY_CHECKSUM can be used to detect
changes to a row of a table.
To update my current tables, I truncate and after I insert the new
datas.
What do you call a timestamp ? How timestamp could work for me ?
Thanks,
--
K
[Back to original message]
|