Ashley Sheridan wrote: > On Wed, 2008-10-29 at 19:57 -0500, Micah Gersten wrote: > >> Ashley Sheridan wrote: >> >>> On Wed, 2008-10-29 at 19:49 -0500, Micah Gersten wrote: >>> >>> >>>> Ashley Sheridan wrote: >>>> >>>> >>>>> On Wed, 2008-10-29 at 19:43 -0500, Micah Gersten wrote: >>>>> >>>>> >>>>> >>>>>> Ashley Sheridan wrote: >>>>>> >>>>>> >>>>>> >>>>>>> On Wed, 2008-10-29 at 19:25 -0500, Micah Gersten wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> Ashley Sheridan wrote: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> On Thu, 2008-10-30 at 08:55 +1100, Chris wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>>> Waynn Lue wrote: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> I sent an email to the mysql list, but it reminded me of a question I had >>>>>>>>>>> for people structuring their PHP code. What's the general way that people >>>>>>>>>>> structure their connections? Right now, I spawn off two mysql_connect calls >>>>>>>>>>> at the top of the file that includes my database calls, using "true" for the >>>>>>>>>>> fourth parameters, so as to create two new connections. Then I use those >>>>>>>>>>> two connections for two different databases I have to query from. >>>>>>>>>>> >>>>>>>>>>> Is it better just to use mysql_select_db within the query function every >>>>>>>>>>> time for the same connection? Should I use mysql_connect every time without >>>>>>>>>>> using "true", so as to re-use connections. Should I be using pconnect >>>>>>>>>>> instead? >>>>>>>>>>> >>>>>>>>>>> I spent some time looking for answers to these questions, but am getting >>>>>>>>>>> conflicting answers. Some people think relying on the re-use of these >>>>>>>>>>> functions is good, some think that explicit management is better. In >>>>>>>>>>> general, how have people on the list found them? For example, is having >>>>>>>>>>> constant mysql_select_db calls a problem? >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> Are they connecting as the same user and on the same server? Then you >>>>>>>>>> can replace with a mysql_select_db call. >>>>>>>>>> >>>>>>>>>> If they aren't both of those, you have no choice. >>>>>>>>>> >>>>>>>>>> No idea if it'll make much of a difference (performance wise etc) but >>>>>>>>>> I'd leave it as two connections. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> How difficult would it be to converge the 2 databases into one? This >>>>>>>>> would obviously use less memory (not sure exactly how big the footprint >>>>>>>>> of each connection is though) and will slightly speed up page display >>>>>>>>> time (as you only have to wait for one connection to be made rather than >>>>>>>>> two) >>>>>>>>> >>>>>>>>> >>>>>>>>> Ash >>>>>>>>> www.ashleysheridan.co.uk >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> Generally you want separation of data. MySQL doesn't have a problem >>>>>>>> accessing another DB on the same server with the same connection. Also, >>>>>>>> how would database convergence use less memory? >>>>>>>> >>>>>>>> . >>>>>>>> Thank you, >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> For arguments sake, open 1000 database connections, all to different >>>>>>> databases. Now tell me that each connection doesn't have a footprint. At >>>>>>> the end of the day, whist it may seem fine for a script to have 2 >>>>>>> connections open, the least open the better. Imagine 100 users >>>>>>> simultaneously accessing a page that opens 10 connections. Suddenly you >>>>>>> have 200 connections open, not a great idea. If you could amalgamate the >>>>>>> db's, you'd have half as many connections open. >>>>>>> >>>>>>> If you're still having trouble understanding why having two database >>>>>>> connections open is bad (regardless of whether they are on the same >>>>>>> server or not) the I think web development is the wrong career for you. >>>>>>> >>>>>>> >>>>>>> Ash >>>>>>> www.ashleysheridan.co.uk >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> The answer in your case is not to combine the DBs necessarily, but >>>>>> consolidate the connections used. Like I said, you can use 2 MySQL DBs >>>>>> on the same connection in PHP. There's no reason to sacrifice >>>>>> separation of data. >>>>>> >>>>>> Thank you, >>>>>> Micah Gersten >>>>>> >>>>>> >>>>>> >>>>> I'm sure if you look at the OP codes on your suggestion, you'd still use >>>>> the same memory as having two separate connections open, unless you >>>>> closed one first. Thing is, opening and closing database connections has >>>>> its own overheads. >>>>> >>>>> >>>>> Ash >>>>> www.ashleysheridan.co.uk >>>>> >>>>> >>>>> >>>> How is using one connection the same as having 2 open? You just change >>>> databases if you want to, or use the fully qualified table name >>>> (database.table) in your query. What extra overhead is there in that? >>>> >>>> Thank you, >>>> Micah Gersten >>>> >>> Having one connection open at a time has only the overhead of the >>> opening and closing of connections. As far as I know, you can't have two >>> databases open on one connection, but please correct me if I am wrong. >>> >>> >>> Ash >>> www.ashleysheridan.co.uk >>> >>> >> With MySQL, you can change the DB from query to query with >> mysql_select_db. The alternative as I stated in my last post is to use >> the fully qualified table name (database.table) in your query. MySQL >> doesn't care which DB you have open if you do that. In both of these >> cases, the same connection is used. >> >> Thank you, >> Micah Gersten >> > And you can say for certain that there's no extra overhead involved? > > > Ash > www.ashleysheridan.co.uk > With the fully qualified table name I can say for sure. I can only hope with the mysql_select_db that it just issues a use dbName command. Thank you, Micah Gersten onShore Networks Internal Developer http://www.onshore.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php