Ehkäpä hieman huonosti nimetty aihe, mutta parempaakaan en keksinyt..
Niin, mietin että onko siinä suuriakaan nopeuseroja, tai mitään väliä, yhdistääkö tietokantapalvelimeen kerran vai monta kertaa..
Eli, miten kannattaisi tehdä?
1. Laittaa koodia sivun alkuun ja loppuun, ja täten yhdistää joka sivun alussa ja sulkea yhteys lopussa. Tuskin haittaa vaikka ei joka sivulla tekisikään hakuja tai vastaavia.
2. Vai yhdistää joka kerta ja sulkea aina kun tekee jotain, esim. ensin jonkin nimen hakeminen, sitten taulukkoon jotain, sitten taas jotain muuta jne..?
Kohdan 1 mukaan.
MySQL-yhteyden sulkeminen skriptissä kannattaa laittaa siihen kohtaan, milloin ei enää tarvitse sitä. PHP sulkee yhteyden automaattisesti skriptin lopussa, joten siellä sen sulkeminen itse on tarpeetonta.
Muutenkin kannatta miettiä koodin rakenne niin, että yhteys tietokantapalvelimeen olisi auki mahdollisimman lyhyen aijan. Palvelimet kun sallivat yleensä vain rajoitetun määrän yhtäaikaisia yhteyksiä.
Yhteyksien avaaminen ja sulkeminen kuluttaa enemmän resursseja kuin se, että teet enemmän kyselyjä saman yhteyden aikana.
MySQL:n yhdistettäessä suosittelen mysql_pconnect() -funktiota. Sitä voi kutsua vaikkapa ennen jokaista tietokantakyselyä eikä tarvitse murehtia siitä onko yhteys auki ennestään vai ei. Näin siis jos on uudelleenkäytettävää koodia sisällytetty useaan paikkaan josta ei aina voi olla varma onko yhteys jo auki ja miksei muutenkin. (Tosin samassa skriptissä usea yhteyden avaus lienee turhaa paranoiaa?)
mysql_pconnect() käyttää saman yhteyden uudestaan mikäli yhteys on jo avattu, muuten avataan uusi. Resursseja ei kulu turhaan, mutta yhteyden olemassaolosta voi olla varma. (Sikäli mikäli softa pyörii ok)
Yhteyttä ei myöskään suljeta kun skriptin ajo loppuu, vaan säilytetään jonkun tietyn ajan.
Olikohan tämä nyt riittävän epäselvästi kirjotettu.
Nimim. juuri herännyt :)
mysql_pconnect() funkkari ei ole hyvä suositulla saitilla.
Nopeammin toimii mysql_connect() funkkari.
Aihe on jo aika vanha, joten et voi enää vastata siihen.