Re: mssql_* overhead

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 1/10/07, Philip Thompson <prthomp@xxxxxxxx> wrote:
On Jan 10, 2007, at 10:09 AM, Jochem Maas wrote:

> Philip Thompson wrote:
>> Hi.
>>
>> Does anyone know if the mssql_connect/_init/_bind/etc require a
>> lot of
>> overhead?
>>
>> I have a page that requires multiple function calls and each of those
>> opens a new connection to the database, performs the necessary
>> actions
>> in stored procedure(s), and then closes the connection. However, I
>> found
>> this to be slower than I was wanting. So I thought, just create one
>> connection and assign it to the SESSION (a global), and in each
>> function
>> that requires a connection, call that SESSION variable. At the end of
>> the page, close the connection and nullify the variable.
>
> I wouldn't stick it in the SESSION superglobal (my tactic is
> usually to create
> a little wrapper class to the relevant DB functions and store the
> connection
> as a property of the class/object.
>
> basically opening & closing the connection once per request is the
> way to
> go - if your going to using a global, better [than $_SESSION] to
> stick it
> in $GLOBALS imho.

Would there be any speed decrease with multiple users (hundreds)
sharing this $GLOBALS variable (if that makes sense)?


> $_SESSION is used for persisting data over multiple requests -
> something that
> is not possible to do for 'resource identifiers' (which is what the
> connection [id] is).

BTW, it does work b/c that's how it's currently setup. I am open to
changing it though. I should say, I'm creating at the beginning of
the script and closing it at the end. So, it doesn't actually stay
open throughout the whole user session.


>> Does anyone see a problem with doing it this way? Security concerns?
>> Anything?
>>
>> Thanks in advance,
>> ~Philip

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


If you want to keep it in $_SESSION look into __sleep & __wakeup to be
all proper.  Perhaps it is already doing this since you said it just
works.

Also if you are looking to tweak things to see how performance
changes, look into the profiling abilities of Xdebug 2.  It is amazing
because you can profile your entire request for any given page of your
site and see how long each method took and the memory usage.

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


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux