![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
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?? -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 732 Pomógł: 80 Dołączył: 25.05.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
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?? 2-3k * 7 zapytań to jest nic dla bazy ![]() -------------------- DevBlog - http://www.bartekrogus.pl
|
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Nie ilość zapytań ma znaczenie tylko ich jakość. 7 zapytań to pikuś. Nawet jakbyś miał ich 20 czy 30 to nie byłoby to jeszcze takie dziwne.
Najważniejsze jest to by były zoptymalizowane i wyciągały to co potrzebujesz w sposób najlepszy i najbardziej oszczędny jak się da. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Cytat Inną sprawą jest transfer, przepustowość łączy, serwer itp.. Mozesz rozwinac idee moj cms stoi na bezplatnym servie wiec bedzie krucho ale napewno zmienie o to sie nie marwtie bardziej zalezy mi na kodzie A jeszcze jedno czy duzo daje cachowanie i co najlepiej cachowac?? @mike no dzieki to przeanalizuje kod napisze go na funckje i zooptymalizuje jak moge zapytania sql ![]() Ten post edytował marcio 13.06.2008, 15:55:33 -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#5
|
|
![]() 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. ![]() 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. ;] -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 640 Pomógł: 44 Dołączył: 8.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
na niedużym ruchu problemów z wydajnością bazy być nie powinno. Przy większej skali:
- Memcached do keszowania zapytań - Sphinx do wszystkich pełnotekstowych zapytań (wyszukiwarki itp.) - unikać złożonych zapytań ![]() A na jeszcze większej: - replikacja bazy danych ![]() -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Hehe nawet nie wiem jak cachowac zapytanie ani wyniki nie bawilem sie tym nigdy nie czytalem o tym nigdy dlatego pytam a tak w ogole to nie korzystam z gotowych klas dla mysql sam wszystko pisze bo nie wiem co to te InnoDb jesli o to chodzilo
![]() -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 22.06.2025 - 16:14 |