Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Yhteys MySQL:ään - kerran vai enemmän?

TH [20.02.2004 16:25:07]

#

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..?

folio [20.02.2004 18:06:22]

#

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ä.

Wizard [26.02.2004 22:52:44]

#

Yhteyksien avaaminen ja sulkeminen kuluttaa enemmän resursseja kuin se, että teet enemmän kyselyjä saman yhteyden aikana.

NiKC [27.02.2004 09:43:05]

#

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 :)

https://www.php.net/manual/en/function.mysql-pconnect.php

Juhis [27.02.2004 12:14:44]

#

mysql_pconnect() funkkari ei ole hyvä suositulla saitilla.
Nopeammin toimii mysql_connect() funkkari.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta