If you have multiple calls to the database that are grouped, definitely perform 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 transactions 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 the connection, run calls A and B, close the connection waiting on user input, 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' milliseconds and you anticipate that you MIGHT at ANY point run into concurrency issues, you would hold a single open connection for that specific case and adhere 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.
Respectfully, Joshua D. Arneson Data Manager, Mount Sinai NIH Brain & Tissue Repository (NBTR) 130 W Kingsbridge Rd, Rm 5F-04 Bronx, NY 10468 Email: joshua.arne...@mssm.edu Office: 718-584-9000 ext 6094 Mobile: 347-915-8911 Fax: 718-741-4746 > On Mar 5, 2017, at 7:29 PM, Karl DeSaulniers <k...@designdrumm.com> wrote: > > Ah, thanks for the reply Joshua. > > 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? > > 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 > multiple calls on the database? > Or after each call to the database? > > 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. > > Again, TIA! > > Best, > > Karl DeSaulniers > Design Drumm > https://urldefense.proofpoint.com/v2/url?u=http-3A__designdrumm.com&d=DwIFAg&c=shNJtf5dKgNcPZ6Yh64b-A&r=HSbgyt8GFSyWQ53Nxworjip-dgIKnMlPBkQ0VGj7tYk&m=w7VxdOhlxCY27A_sfaFCxntsWMG8ZDA3nukN6fBstsA&s=JzvStr8fa_OyNaHOUe0Xp8_o6aDzZSgZ6OXyEk6WyIM&e= > > > > >> On Mar 5, 2017, at 6:19 PM, Arneson, Joshua <joshua.arne...@mssm.edu> wrote: >> >> 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 >> process 20-30 transactions that take 20-30ms each? Just better (under most >> circumstances) to open the connection, process your transaction , then close >> the connection. >> >> Respectfully, >> >> Joshua D. Arneson >> Data Manager, Mount Sinai NIH Brain & Tissue Repository (NBTR) >> 130 W Kingsbridge Rd, Rm 5F-04 >> Bronx, NY 10468 >> Email: joshua.arne...@mssm.edu >> Office: 718-584-9000 ext 6094 >> Mobile: 347-915-8911 >> Fax: 718-741-4746 >> >>> On Mar 5, 2017, at 6:54 PM, Karl DeSaulniers <k...@designdrumm.com> wrote: >>> >>> Hello everyone, >>> Long time. Hope all are well. >>> >>> Quick question. How should MySQL connections be treated? >>> Is it ok to leave them open or is it better to close them after >>> transactions? >>> 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. >>> >>> Just wondering your professional. >>> >>> TIA >>> >>> Best, >>> >>> Karl DeSaulniers >>> Design Drumm >>> https://urldefense.proofpoint.com/v2/url?u=http-3A__designdrumm.com&d=DwIFAg&c=shNJtf5dKgNcPZ6Yh64b-A&r=HSbgyt8GFSyWQ53Nxworjip-dgIKnMlPBkQ0VGj7tYk&m=09oI7Bn2rpePGXSl8CmHMTUqhm3Rjh676OnMYed0L_4&s=JBoK9bslzQegAxQDG_NbsuvcCBLw5_LIQkjMpEj4kE8&e= >>> >>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__designdrumm.com_&d=DwIFAg&c=shNJtf5dKgNcPZ6Yh64b-A&r=HSbgyt8GFSyWQ53Nxworjip-dgIKnMlPBkQ0VGj7tYk&m=09oI7Bn2rpePGXSl8CmHMTUqhm3Rjh676OnMYed0L_4&s=u_sgRk_DWdl5PZZinSHklw5DuV7oz5cv7MWZCJDsJzA&e=> >>> >>> >>> >>> >> >> -- >> PHP Database Mailing List >> (https://urldefense.proofpoint.com/v2/url?u=http-3A__www.php.net_&d=DwIFAg&c=shNJtf5dKgNcPZ6Yh64b-A&r=HSbgyt8GFSyWQ53Nxworjip-dgIKnMlPBkQ0VGj7tYk&m=w7VxdOhlxCY27A_sfaFCxntsWMG8ZDA3nukN6fBstsA&s=wWlQEGEfTaOWZtdTA776DTMosB5WtSX6K5iaiWM7J3A&e= >> ) >> To unsubscribe, visit: >> https://urldefense.proofpoint.com/v2/url?u=http-3A__www.php.net_unsub.php&d=DwIFAg&c=shNJtf5dKgNcPZ6Yh64b-A&r=HSbgyt8GFSyWQ53Nxworjip-dgIKnMlPBkQ0VGj7tYk&m=w7VxdOhlxCY27A_sfaFCxntsWMG8ZDA3nukN6fBstsA&s=qSyyKaFDMntOGvbZ-jgs6sfh-DyfkxT3tTOLa-uFDDw&e= >> > > > -- > PHP Database Mailing List > (https://urldefense.proofpoint.com/v2/url?u=http-3A__www.php.net_&d=DwIFAg&c=shNJtf5dKgNcPZ6Yh64b-A&r=HSbgyt8GFSyWQ53Nxworjip-dgIKnMlPBkQ0VGj7tYk&m=w7VxdOhlxCY27A_sfaFCxntsWMG8ZDA3nukN6fBstsA&s=wWlQEGEfTaOWZtdTA776DTMosB5WtSX6K5iaiWM7J3A&e= > ) > To unsubscribe, visit: > https://urldefense.proofpoint.com/v2/url?u=http-3A__www.php.net_unsub.php&d=DwIFAg&c=shNJtf5dKgNcPZ6Yh64b-A&r=HSbgyt8GFSyWQ53Nxworjip-dgIKnMlPBkQ0VGj7tYk&m=w7VxdOhlxCY27A_sfaFCxntsWMG8ZDA3nukN6fBstsA&s=qSyyKaFDMntOGvbZ-jgs6sfh-DyfkxT3tTOLa-uFDDw&e= > > -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php