Optymalizacja skryptów - baza mysql |
Optymalizacja skryptów - baza mysql |
3.10.2008, 16:08:59
Post
#1
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 4 Dołączył: 2.03.2008 Ostrzeżenie: (10%) |
Więc tak. Mam kilka funkcji, które wysyłają zapytanie do bazy. W każdej zapytanie jest takie samo. Zamiast zadawać kilka razy to samo zapytanie to dało by się zrobić jakoś tak, aby na zewnątrz nich zadać zapytanie a w środku je przetwarzać?? Z pozoru to mały prolem, ale odpada wywołanie funkcji przez funkcja($zapytanie); - ograniczenie które daje szablon w moim skrypcie. Ma ktoś pomysł
|
|
|
3.10.2008, 18:10:31
Post
#2
|
|
Grupa: Zarejestrowani Postów: 518 Pomógł: 18 Dołączył: 21.07.2008 Ostrzeżenie: (0%) |
chyba musisz podac kawalek kodu . Wtedy bedzie latwiej cos wymyslic
|
|
|
3.10.2008, 18:18:52
Post
#3
|
|
Grupa: Zarejestrowani Postów: 403 Pomógł: 68 Dołączył: 20.03.2008 Ostrzeżenie: (0%) |
możesz zrobić jedno zapytanie na początku skryptu i wynik zapisać w cache'u a później korzystać z danych w cache i funkcje zamiast wykonywać zapytanie będą pracować na danych tymczasowych
-------------------- Pomogłem? wyraź to i kliknij "Pomógł"
|
|
|
3.10.2008, 18:33:10
Post
#4
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 4 Dołączył: 2.03.2008 Ostrzeżenie: (10%) |
a cache jest zapamiętywane po stronie serwera czy użytkownika?? Bardzo to obciąży serwer jeśli czasami wynik ma kilkaset tysięcy rekordów??
|
|
|
3.10.2008, 21:11:26
Post
#5
|
|
Grupa: Zarejestrowani Postów: 890 Pomógł: 65 Dołączył: 13.11.2005 Skąd: Olsztyn Ostrzeżenie: (0%) |
Cache jest zawsze po stronie serwera. System obciąża zarówno skrobanie po dysku za cachem, jak i zapytania do bazy, wiadomo.
W najprostszym podejściu cache stosujemy wówczas jeśli dane stosunkowo rzadko są zmieniane. Osobną sprawą jest znaczenie słowa "rzadko". Nie da się określić tego dokładnie, zależy to od zbyt wielu czynników. Dlatego jedynym rozsądnym rozwiązaniem są testy wydajności z cachem i bez niego... |
|
|
4.10.2008, 16:21:52
Post
#6
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 4 Dołączył: 2.03.2008 Ostrzeżenie: (10%) |
7 zapytań do bazy bardzo obciąży serwer przy załadowaniu jednej strony??
|
|
|
4.10.2008, 16:28:19
Post
#7
|
|
Grupa: Zarejestrowani Postów: 492 Pomógł: 32 Dołączył: 14.04.2008 Skąd: Lenkowski.net Ostrzeżenie: (0%) |
zależy od jakości tych zapytań i wielkości przetwarzanych danych...
Ten post edytował MWL 4.10.2008, 16:31:14 -------------------- Programujemy aplikacje internetowe. Szukasz pracy? Napisz do mnie!
|
|
|
4.10.2008, 16:29:13
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) |
IPB - a na tym opiera się forum.php.pl - generuje ok. 20 zapytań na stronę (o ile się nie mylę) - a jak widzisz ruch jest spory, a strona działa.
Jednak tak jak już powyżej napisano: dobrze jest zrobić test przed podjęciem decyzji cacheować czy nie PS. I wysztko zależy od tego jakie to zapytania i jak jest skonstuowana baza Ten post edytował Crozin 4.10.2008, 16:29:52 |
|
|
4.10.2008, 16:36:48
Post
#9
|
|
Grupa: Zarejestrowani Postów: 492 Pomógł: 32 Dołączył: 14.04.2008 Skąd: Lenkowski.net Ostrzeżenie: (0%) |
z drugiej strony, jeśli radmistrz chciałby pobrać dane o wszystkich użytkownikach, biletach itp. linii lotniczych mogło by to zająć wieki
-------------------- Programujemy aplikacje internetowe. Szukasz pracy? Napisz do mnie!
|
|
|
4.10.2008, 18:39:33
Post
#10
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 4 Dołączył: 2.03.2008 Ostrzeżenie: (10%) |
noo zapytania mają max po 300 000 wyników. Naszczęście jest tak, że w nich jest instrukcja limit i nie wyświetla mi więcej niż 20 wyników
|
|
|
5.10.2008, 09:59:57
Post
#11
|
|
Grupa: Zarejestrowani Postów: 492 Pomógł: 32 Dołączył: 14.04.2008 Skąd: Lenkowski.net Ostrzeżenie: (0%) |
Dodaj do swojego skryptu licznik czasu. Znajdziesz go w pakiecie PEAR w katalogu bechmark.
-------------------- Programujemy aplikacje internetowe. Szukasz pracy? Napisz do mnie!
|
|
|
Wersja Lo-Fi | Aktualny czas: 23.05.2024 - 07:57 |