Hello,

> okay... 1<<table1.sid is leftshift the number 1 table1.sid times.
> Your result will be a binary number... which will be the number 1 followed
> by table1.sid 0's.  Once you have this you do a bitwise or of all the
> numbers you have shifted.  This means any two rows where sid was the same
> will be combined, as there is no difference between (1 or 1) and (1 or 0).
> The last step, then, is to count the 1 bits and see how many different
sid's
> there were.
>
> Make Sense?  The problem before was that there was no way to differentiate
> one row from another, and thus no way to combine identical rows  =P

Oke, tnx, i understood

> ACK!  Don't do this.  You do know that an unsigned int (using a signed int
> in an auto_increment field is pointless anyway) has a max value of
> 4294967295, right?  To put this into perspective... if you had one million
> customers, they would have more than 4294 transactions EACH before sid
> filled up.  If you are still worried about running out of numbers in your
> sid field make it an unsigned bigint.  The max value for an unsigned
bigint
> is 18446744073709551615... so that should give you lots of space to play
in,

Well, oke. I'm builing some pageviewcounter.  Maybe count more then
1 million pageview a day in future :) You're right it will take many days
before i have counted 18446744073709551615 views :). But in some way it feel
like wasting. The first day using the first milion ids, the second day the
next milion and never reuse that numbers. (Yes i realize 8bytes a row is
much better then 32 (or 33 if you do stupid things :)))

Maybe there is a better implemention? I dont i the first one solving this?
--
every step i do:
1) creating a (1!) row id(unique)|........|time
2) deleting row(s) time<X
--

> and sid will only be 8 bytes per row... not 33 (Also incidentally, if you
do
> want to save an md5 value to a row in the future... use char not varchar
as
> you know it will be 32 bytes and are adding a wasted 33rd byte).

Oke, i see.

> See my explanation above.  All you are trying to do is shift a 1 digit to
a
> different place for each unique value of sid.  The above definately won't
> work if sid is an md5 value as md5 includes a-z characters.
oke.

>  Again, hope that helps  =)

I will let you know

Best regards,

Bas



-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to