Re: [PHP] High ID (unique, auto increment) causes slow responses on PHP (MySQL)

2009-06-14 Thread Andrew Ballard
On Sat, Jun 13, 2009 at 3:34 PM, Stuart wrote:
> 2009/6/13 דניאל דנון :
>>  I've built a certain system where every time new user enters it creates a
>> "guest row" on "guests" table. he also gets an identifying cookie.
>>
>> The table contains several fields, one of them is ID which is auto increment
>> and unique
>>
>> When he does a certain action it gets recorded in the "done_action" table
>> with several fields on it, one of them is "guest_id" and his ID on it.
>>
>>
>> Problem is the guests table has about 30,000 rows (which means ID is high).
>>
>>  I was wondering whether I should somehow change how the system works.
>>
>> I've thought about couple of options
>>
>> A weekly "cleanup" job. opens a table called "guests_tmp", *copies* all data
>> from guests to guests_tmp.
>>
>> every row it copies it also changes the ID on the table done_action.
>>
>> What do you  think?
>
> I think your problem has nothing to do with high IDs. I have tables in
> MySQL with primary key IDs that have recently passed 2 billion and
> they're still as responsive as they were with 1 row!!
>
> What specific operations are slow, and are you sure it's the MySQL
> query that's being slow and not something in the surrounding code? If
> it is the MySQL query what is it and what engine are your tables
> using?
>
> -Stuart
>
> --
> http://stut.net/
>

Right. 30k rows in most databases is nothing. Neither the number of
rows nor the size of the number should cause problems at that size. Is
there a chance that the table is incorrectly indexed? Every index has
to be updated when a new row is added, so a table with a lot of
unnecessary indexes (for example, every column has its own index) can
get dreadfully slow as it fills up.

Andrew

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] High ID (unique, auto increment) causes slow responses on PHP (MySQL)

2009-06-13 Thread Stuart
2009/6/13 דניאל דנון :
>  I've built a certain system where every time new user enters it creates a
> "guest row" on "guests" table. he also gets an identifying cookie.
>
> The table contains several fields, one of them is ID which is auto increment
> and unique
>
> When he does a certain action it gets recorded in the "done_action" table
> with several fields on it, one of them is "guest_id" and his ID on it.
>
>
> Problem is the guests table has about 30,000 rows (which means ID is high).
>
>  I was wondering whether I should somehow change how the system works.
>
> I've thought about couple of options
>
> A weekly "cleanup" job. opens a table called "guests_tmp", *copies* all data
> from guests to guests_tmp.
>
> every row it copies it also changes the ID on the table done_action.
>
> What do you  think?

I think your problem has nothing to do with high IDs. I have tables in
MySQL with primary key IDs that have recently passed 2 billion and
they're still as responsive as they were with 1 row!!

What specific operations are slow, and are you sure it's the MySQL
query that's being slow and not something in the surrounding code? If
it is the MySQL query what is it and what engine are your tables
using?

-Stuart

-- 
http://stut.net/

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] High ID (unique, auto increment) causes slow responses on PHP (MySQL)

2009-06-13 Thread Nitsan Bin-Nun
Just use SERIAL id and you will be good ;) (that's an alias for something
like BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY)

It shouldn't bother you as long as it works.

On Sat, Jun 13, 2009 at 9:16 PM, דניאל דנון  wrote:

>  I've built a certain system where every time new user enters it creates a
> "guest row" on "guests" table. he also gets an identifying cookie.
>
> The table contains several fields, one of them is ID which is auto
> increment
> and unique
>
> When he does a certain action it gets recorded in the "done_action" table
> with several fields on it, one of them is "guest_id" and his ID on it.
>
>
> Problem is the guests table has about 30,000 rows (which means ID is high).
>
>  I was wondering whether I should somehow change how the system works.
>
> I've thought about couple of options
>
> A weekly "cleanup" job. opens a table called "guests_tmp", *copies* all
> data
> from guests to guests_tmp.
>
> every row it copies it also changes the ID on the table done_action.
>
> What do you  think?
>
>
> --
> Use ROT26 for best security
>


[PHP] High ID (unique, auto increment) causes slow responses on PHP (MySQL)

2009-06-13 Thread דניאל דנון
 I've built a certain system where every time new user enters it creates a
"guest row" on "guests" table. he also gets an identifying cookie.

The table contains several fields, one of them is ID which is auto increment
and unique

When he does a certain action it gets recorded in the "done_action" table
with several fields on it, one of them is "guest_id" and his ID on it.


Problem is the guests table has about 30,000 rows (which means ID is high).

 I was wondering whether I should somehow change how the system works.

I've thought about couple of options

A weekly "cleanup" job. opens a table called "guests_tmp", *copies* all data
from guests to guests_tmp.

every row it copies it also changes the ID on the table done_action.

What do you  think?


-- 
Use ROT26 for best security