DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   PHP (http://www.devprotalk.com/forumdisplay.php?f=9)
-   -   PHP MySql Query i opterecenje servera ? (http://www.devprotalk.com/showthread.php?t=6135)

ColdKeyboard 03. 09. 2008. 15:19

PHP MySql Query i opterecenje servera ?
 
Treba da napravim 4 sql tabele,

prve dvije ima 10 polja od kojih su skoro svi int ili varchar (30)

druge dvije imaju 100 polja od kojih su sva polja int (1) i imaju vrijednosti 1 ili 0


Interesuje me koliko bi opterecavalo mysql i http server kada bih cesto pozivao ove dvije tabele sa po 100 polja. (cesto je odprilike 30ak puta u minuti a mozda manje a mozda vise ali nakon prve 3-4 minute onda bi pozivi bazi bili jako rjedji...)

:1041:

cvele 03. 09. 2008. 15:29

Nisi dao dovoljno informacija...

1. Koliko su velike tabele
2. Koliko redova odjednom citas
3. Na kakvoj se masini nalazi mysql server

U principu pozivi na svake 2sec nisu nista, cak je to veoma malo.

ColdKeyboard 03. 09. 2008. 15:40

Najbitnije mi je za ove dvije tabele sto imaju 100 polja.

Svako polje u tim tabelama ima duzinu 1 i vrijednost je 0 ili 1

A morao bih da citam sve redove iz te tabele odjednom...

jablan 03. 09. 2008. 15:53

Čoveče, nisi odgovorio ni na jedno pitanje...
Citat:

Originalno napisao cvele (Napišite 59930)
1. Koliko su velike tabele
2. Koliko redova odjednom citas
3. Na kakvoj se masini nalazi mysql server

4. Kakav ti je upit?

BTW, 100 polja tipa BIT može biti indikator da ti normalizacija nije urađena kako treba.

cvele 03. 09. 2008. 15:56

Da pojasnim

Koliko su velike table = Koliko redova imas

Da se nadovezem

Posto toliko cesto moras da citas, pretpostavljam da moras da insertujes/updejtujes jos cesce... da sam na tvom mestu mene bi to vise zabrinjavalo.

Dejan Topalovic 03. 09. 2008. 17:14

Nabrzaka jedan savjet - umjesto int(1) koristi tinyint(1).

kodi 03. 09. 2008. 17:31

Citat:

Originalno napisao ColdKeyboard (Napišite 59928)
Interesuje me koliko bi opterecavalo mysql i http server kada bih cesto pozivao ove dvije tabele sa po 100 polja. (cesto je odprilike 30ak puta u minuti a mozda manje a mozda vise ali nakon prve 3-4 minute onda bi pozivi bazi bili jako rjedji...)
:1041:

ako se podaci ne menjaju u toku tog jednog minuta, i ako je mysql query cache ukljucen to ne bi trebalo da bude problem, mada uvek mozes da dodatno kesiras podatke.


blagi off:
procitah negde, valjda u high performance mysql da je dobra fora za tabele sa mnogo polja (tipa user_details na socijalnim mrezama) da tu tabeleu podelis na dve, jednu u kojoj cuvas podatke kojima bas cesto pristupas (user, pass, email...) i drugu u kojoj su podaci koji se vide samo na pojedinim stranicama, ili koje samo korisnik i vlasnici vide (adresa, telefon, education info....)

ivanhoe 03. 09. 2008. 21:57

jako je bitno (rekao bih najbitnije) kakve upite pravis ? Sta je u WHERE, da li radis ORDER BY, GROUP BY, itd.. Od toga ti zavisi koje indexe mozes da koristis, i kako...

Umesto da imas 100 polja koji su 0 ili 1 (za sta bi mogao da koristis BOOLEAN) mozes da koristis 4 (~100/32) integer polja gde su vrednosti mapirane u bite, a da upite nad tim poljima pravis pomocu bit maski. Ustedeo bi jako puno prostora, i dobio na brzini (znatno manji index, jos ako je myisam tabela pa ima fixnu velicinu rekorda bila bi jako brza)

cvele 03. 09. 2008. 21:58

Off Topic:
@ivanhoe
boolean u mysql je tinyint(1) ;)

DejanVesic 03. 09. 2008. 22:20

Da li vrednosti pojedinih polja čitaš nezavisno jedno od drugog ili čitaš svih sto polja od svakog sloga svaki put?

Pitam, jer sam nekoliko puta koristio foru da umesto n int (boolean) polja koristim samo jedno polje od char(n) slogova; i upisivao vrednosti kao:

"1001010101 ...... "

Dohvatanje jednog stringa od n karaktera i programsko deljenje u niz je solidno brzo.


Vreme je GMT +2. Trenutno vreme je 21:47.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.