Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL]Jak najmniej zapytan sql, Laczenie 2 tabel w 1 zapytaniu sql
marcio
post
Post #1





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Witam mam takie male pytanie jako ze w sql nie jestem zabardzo wtajemniczony chcialem zapytac o jedna rzecz np w moim cms robie 7 zapytan sql na stronie glownej i chcialem zapytac czy nie obciazy to bazy przy duzej ilosci user'ow nie mowie tu o 100 user'ach ale cos kolo 2-3k to jest pytanie dotyczace teorii duzo ludzi mi pisze o jak szybko chodzi twoj cms i moje pytanie jest takie czy bedzie duza roznica przy szybkosci cms gdy mam teraz 100 user'ow a gdy ich bedzie 2-3k??

Chodzi o to ze jesli roznica moze byc dosyc duza to moze przemysle to i jak bede przepisywal cms na funkcje to zoptymalizuje tez kod sql w sumie jak narazie to robie tak tam gdzie mam pobierac tylko jeden rekord daje limit 1 jednak wczesniej tego nie robilem tam gdzie mam np 15 kolumn w tabeli a musze wyciagnac tylko mala czesc z nim to zamiast dawac * podaje tylko nazy kolumn ale czy to wystarcza??
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Mozesz rozwinac idee moj cms stoi na bezplatnym servie wiec bedzie krucho

Jak masz źle napisane zapytania, to i na współdzielonym, płatnym się wyłoży.

Najprościej zacząć od dodania indeksów do bazy. ;]
"Głębiej", to już jest studium przypadku...

Cytat
A jeszcze jedno czy duzo daje cachowanie i co najlepiej cachowac??

Hmm, co wg Ciebie jest szybsze: gdy masz przygotowane (przefiltrowane, posortowane) wyniki do zapytania, czy gdybyś miał za każdym razem je z bazy wyciągać? Chyba oczywiste, że to pierwsze... Fakt, niektóre silniki db mają wbudowane mechanizmy cache'owania najczęściej wykonywanych zapytań (o ile dobrze pamiętam, InnoDB w MySQL), ale jakkolwiek - odczyt z pliku albo serwera/mechanizmu przeznaczonego specjalnie do przechowywania cache'u (memcached, shmop, apc) będzie szybszy niż wykonanie zapytania.

A co cache'ować? Tyle, ile się da. Oczywiście, czas ważności cache'u musisz ustalić wg potrzeb, aby strona w dalszym ciągu była funkcjonalna. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Przy ilości odwiedzin liczonej w tysiącach, cache ważny choć na 1 minutę już trochę da. Idealnie byłoby, gdybyś zaimplementował taki mechanizm cache'owania, który odświeżałby dane w zależności od potrzeb (np. czasem newsy na stronie są aktualizowane kilkukrotnie w ciągu godziny, czasem raz na parę godzin. Wtedy usuwanie cache byś nie uzależnił od czasu, a od aktualizacji zawartości).

Przynajmniej, takie jest moje zdanie. ;]
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 04:39