Re: MySQL connection

"Arneson, Joshua" <[email protected]> Mon, 6 Mar 2017 00:44:08 +0000
Newsgroups gmane.comp.php.database
Message-ID <[email protected]>
If you have multiple calls to the database that are grouped, definitely per=
form them during the same connection session. The bottom line is unless the=
 overhead associated with opening and closing the connection is going to be=
 an issue programmatically, keep connections brief and group your transacti=
ons where possible. A good example would be you have a group of calls (A, B=
, C) that need to happen. Calls A and B can run one after the other, but C =
has to wait on a user input (no matter how small/simple), you should open t=
he connection, run calls A and B, close the connection waiting on user inpu=
t, then reopen, run call C, then close the connection. A good exception to =
this rule would be if you have calls that have to run every 'x' millisecond=
s and you anticipate that you MIGHT at ANY point run into concurrency issue=
s, you would hold a single open connection for that specific case and adher=
e to the 'open'-'run calls'-'close' standard for all other cases. Remember,=
 we rarely know what new tasks our programs will be doing in the future so =
building for scalability is always a good bet.=20

Respectfully,

Joshua D. Arneson
Data Manager, Mount Sinai NIH Brain & Tissue Repository (NBTR)
130 W Kingsbridge Rd, Rm 5F-04
Bronx, NY 10468
Email: [email protected]
Office: 718-584-9000 ext 6094
Mobile: 347-915-8911
Fax: 718-741-4746

> On Mar 5, 2017, at 7:29 PM, Karl DeSaulniers <[email protected]> wrote=
:
>=20
> Ah, thanks for the reply Joshua.
>=20
> Duly noted. So when is it bad to make multiple open and close connections=
 then?
> I am guessing that could have some impact with lots of users too. Yes?
>=20
> If the website in question does not have a lot of users (less than 1,000)=
, is this still a bad call to keep an open connection?
> If so, should I be closing the connection after each page load that has m=
ultiple calls on the database?
> Or after each call to the database?=20
>=20
> I am wanting to make sure I am not doing something bad or dangerous when =
holding these sessions open.
> If it is a matter of taste, I'll leave it, but if it is a matter of best =
practices to open and close, I will change the method I am using.
>=20
> Again, TIA!
>=20
> Best,
>=20
> Karl DeSaulniers
> Design Drumm
> https://urldefense.proofpoint.com/v2/url?u=3Dhttp-3A__designdrumm.com&d=
=3DDwIFAg&c=3DshNJtf5dKgNcPZ6Yh64b-A&r=3DHSbgyt8GFSyWQ53Nxworjip-dgIKnMlPBk=
Q0VGj7tYk&m=3Dw7VxdOhlxCY27A_sfaFCxntsWMG8ZDA3nukN6fBstsA&s=3DJzvStr8fa_OyN=
aHOUe0Xp8_o6aDzZSgZ6OXyEk6WyIM&e=3D
>=20
>=20
>=20
>=20
>> On Mar 5, 2017, at 6:19 PM, Arneson, Joshua <[email protected]> wr=
ote:
>>=20
>> Right off the bat, you need to consider concurrency issues. Depending on=
 the size of your user base and level of activity this could become a major=
 issue. In the end, why hold an open connection for 15 minutes just to proc=
ess 20-30 transactions that take 20-30ms each? Just better (under most circ=
umstances) to open the connection, process your transaction , then close th=
e connection.=20
>>=20
>> Respectfully,
>>=20
>> Joshua D. Arneson
>> Data Manager, Mount Sinai NIH Brain & Tissue Repository (NBTR)
>> 130 W Kingsbridge Rd, Rm 5F-04
>> Bronx, NY 10468
>> Email: [email protected]
>> Office: 718-584-9000 ext 6094
>> Mobile: 347-915-8911
>> Fax: 718-741-4746
>>=20
>>> On Mar 5, 2017, at 6:54 PM, Karl DeSaulniers <[email protected]> wro=
te:
>>>=20
>>> Hello everyone,
>>> Long time. Hope all are well.
>>>=20
>>> Quick question. How should MySQL connections be treated?
>>> Is it ok to leave them open or is it better to close them after transac=
tions?
>>> I have a website that uses sessions and was wondering if there was any =
situations where I should be closing the connection.
>>> Either for performance reasons or security or best practices.=20
>>>=20
>>> Just wondering your professional.
>>>=20
>>> TIA
>>>=20
>>> Best,
>>>=20
>>> Karl DeSaulniers
>>> Design Drumm
>>> https://urldefense.proofpoint.com/v2/url?u=3Dhttp-3A__designdrumm.com&d=
=3DDwIFAg&c=3DshNJtf5dKgNcPZ6Yh64b-A&r=3DHSbgyt8GFSyWQ53Nxworjip-dgIKnMlPBk=
Q0VGj7tYk&m=3D09oI7Bn2rpePGXSl8CmHMTUqhm3Rjh676OnMYed0L_4&s=3DJBoK9bslzQegA=
xQDG_NbsuvcCBLw5_LIQkjMpEj4kE8&e=3D <https://urldefense.proofpoint.com/v2/u=
rl?u=3Dhttp-3A__designdrumm.com_&d=3DDwIFAg&c=3DshNJtf5dKgNcPZ6Yh64b-A&r=3D=
HSbgyt8GFSyWQ53Nxworjip-dgIKnMlPBkQ0VGj7tYk&m=3D09oI7Bn2rpePGXSl8CmHMTUqhm3=
Rjh676OnMYed0L_4&s=3Du_sgRk_DWdl5PZZinSHklw5DuV7oz5cv7MWZCJDsJzA&e=3D>
>>>=20
>>>=20
>>>=20
>>>=20
>>=20
>> --
>> PHP Database Mailing List (https://urldefense.proofpoint.com/v2/url?u=3D=
http-3A__www.php.net_&d=3DDwIFAg&c=3DshNJtf5dKgNcPZ6Yh64b-A&r=3DHSbgyt8GFSy=
WQ53Nxworjip-dgIKnMlPBkQ0VGj7tYk&m=3Dw7VxdOhlxCY27A_sfaFCxntsWMG8ZDA3nukN6f=
BstsA&s=3DwWlQEGEfTaOWZtdTA776DTMosB5WtSX6K5iaiWM7J3A&e=3D )
>> To unsubscribe, visit: https://urldefense.proofpoint.com/v2/url?u=3Dhttp=
-3A__www.php.net_unsub.php&d=3DDwIFAg&c=3DshNJtf5dKgNcPZ6Yh64b-A&r=3DHSbgyt=
8GFSyWQ53Nxworjip-dgIKnMlPBkQ0VGj7tYk&m=3Dw7VxdOhlxCY27A_sfaFCxntsWMG8ZDA3n=
ukN6fBstsA&s=3DqSyyKaFDMntOGvbZ-jgs6sfh-DyfkxT3tTOLa-uFDDw&e=3D=20
>=20
>=20
> --
> PHP Database Mailing List (https://urldefense.proofpoint.com/v2/url?u=3Dh=
ttp-3A__www.php.net_&d=3DDwIFAg&c=3DshNJtf5dKgNcPZ6Yh64b-A&r=3DHSbgyt8GFSyW=
Q53Nxworjip-dgIKnMlPBkQ0VGj7tYk&m=3Dw7VxdOhlxCY27A_sfaFCxntsWMG8ZDA3nukN6fB=
stsA&s=3DwWlQEGEfTaOWZtdTA776DTMosB5WtSX6K5iaiWM7J3A&e=3D )
> To unsubscribe, visit: https://urldefense.proofpoint.com/v2/url?u=3Dhttp-=
3A__www.php.net_unsub.php&d=3DDwIFAg&c=3DshNJtf5dKgNcPZ6Yh64b-A&r=3DHSbgyt8=
GFSyWQ53Nxworjip-dgIKnMlPBkQ0VGj7tYk&m=3Dw7VxdOhlxCY27A_sfaFCxntsWMG8ZDA3nu=
kN6fBstsA&s=3DqSyyKaFDMntOGvbZ-jgs6sfh-DyfkxT3tTOLa-uFDDw&e=3D=20
>=20

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