konto usunięte

Temat: Ilość zapytań do bazy dla jednego użytkownika

Jakie macie spojrzenie na ilość zapytań do bazy? Lepiej przekazywać masę zmiennych do SQL i tam je obrabiać czy rozbijać na kilka mniejszych zapytań? I gdzie ta granica według was jest?

Wojciech Gardziński

Wypowiedzi autora zostały ukryte. Pokaż autora

konto usunięte

Temat: Ilość zapytań do bazy dla jednego użytkownika

Dawid Zając:
Jakie macie spojrzenie na ilość zapytań do bazy? Lepiej przekazywać masę zmiennych do SQL i tam je obrabiać czy rozbijać na kilka mniejszych zapytań? I gdzie ta granica według was jest?

jest coś takiego jak parametryzacja SQL, taki problem wtedy nie istnieje

konto usunięte

Temat: Ilość zapytań do bazy dla jednego użytkownika

Dawid Zając:
Jakie macie spojrzenie na ilość zapytań do bazy? Lepiej przekazywać masę zmiennych do SQL i tam je obrabiać czy rozbijać na kilka mniejszych zapytań? I gdzie ta granica według was jest?

Rób tak, żeby było Ci łatwiej.

konto usunięte

Temat: Ilość zapytań do bazy dla jednego użytkownika

Na łatwiznę idę teraz i obrabiam zmienne po stronie PHP ale gdy wychodzi mi po 10 zapytań na jedno wyświetlenie strony to uważam że to trochę za dużo tym bardziej że nie pobieram dużo rekordów. Dlatego chciałbym poznać opinie innych na temat tego kiedy należy zacząć kombinować z tworzeniem zapytań po stronie SQL.

konto usunięte

Temat: Ilość zapytań do bazy dla jednego użytkownika

10-15 to pierwsze lepsze forum internetowe wykonuje... a takie fora to czasami po kilkaset k użytkowników mają. Jak dorzucisz mechanizm cache'owania ( np. ze Smarty ) to nie powinieneś się tym tak przejmować.

konto usunięte

Temat: Ilość zapytań do bazy dla jednego użytkownika

Rafał Wardas:
10-15 to pierwsze lepsze forum internetowe wykonuje... a takie fora to czasami po kilkaset k użytkowników mają. Jak dorzucisz mechanizm cache'owania ( np. ze Smarty ) to nie powinieneś się tym tak przejmować.


cache nie jest remedium na bzdurne zapytania SQL, to tylko proteza i to na strasznie kulawa

konto usunięte

Temat: Ilość zapytań do bazy dla jednego użytkownika

Dawid Zając:
Na łatwiznę idę teraz i obrabiam zmienne po stronie PHP ale gdy wychodzi mi po 10 zapytań na jedno wyświetlenie strony to uważam że to trochę za dużo tym bardziej że nie pobieram dużo rekordów. Dlatego chciałbym poznać opinie innych na temat tego kiedy należy zacząć kombinować z tworzeniem zapytań po stronie SQL.

1. sprawdź struktury danych po stronie MySQL-a, jeden głupi indeks i masz niezły wzrost wydajności

2. SQL-a się nie klei, SQL-a się parametryzuje np. za pomocą PDO

3. sama struktura tabel moze być niezłym burdelem np.

masz tabele na prosukty tyle że każda grupa produktów w oddzielnej - to jest jakaś masakra i np. tak się nie powinno robić bo SQL-e do tego to jakaś patologia

konto usunięte

Temat: Ilość zapytań do bazy dla jednego użytkownika

@Przemysław

1.o to dbam jeśli planuje bazy z ponad 1000 rekordów

2.w tym temacie muszę poszerzyć swoja wiedzę bo dopiero wchodzę w bazy danych

3.o to bardzo dbam przy większych bazach
Przemysław R.:

masz tabele na prosukty tyle że każda grupa produktów w oddzielnej - to jest jakaś masakra i np. tak się nie powinno robić bo SQL-e do tego to jakaś patologia

czasem tak trzeba bo przysłowiowy "produkt" ma zupełnie inne pola i baza zajmuje dużo więcej miejsca jeśli się tego nie rozdzieli, choć faktycznie ma to sens tylko w dużych i mało obciążonych bazach
Krzysztof Eugeniusz Kotkowicz

Krzysztof Eugeniusz Kotkowicz Freelancer,
Administrator
systemów
teleinformatycznych

Temat: Ilość zapytań do bazy dla jednego użytkownika

Dawid Zając:
Na łatwiznę idę teraz i obrabiam zmienne po stronie PHP ale gdy wychodzi mi po 10 zapytań na jedno wyświetlenie strony to uważam że to trochę za dużo tym bardziej że nie pobieram dużo rekordów. Dlatego chciałbym poznać opinie innych na temat tego kiedy należy zacząć kombinować z tworzeniem zapytań po stronie SQL.

Hmmm... A możesz pokazać przykładową listę zapytań?

konto usunięte

Temat: Ilość zapytań do bazy dla jednego użytkownika

Pytanie zadałem bez wskazania na konkretną aplikację, przeważnie mam kilka zmiennych(5-10) i na ich podstawie muszę pobierać/niepobierać dane z kilkudziesięciu różnych tabelDawid Zając edytował(a) ten post dnia 29.11.11 o godzinie 09:57

konto usunięte

Temat: Ilość zapytań do bazy dla jednego użytkownika

Dawid Zając:
Pytanie zadałem bez wskazania na konkretną aplikację, przeważnie mam kilka zmiennych(5-10) i na ich podstawie muszę pobierać/niepobierać dane z kilkudziesięciu różnych tabel


czmu masz tyle tych tabel?

konto usunięte

Temat: Ilość zapytań do bazy dla jednego użytkownika

np z powodu normalizacji lub niemożliwości zestawienia różnych danych w jednej tabeli, trochę przesadziłem bo statystycznie jest ich kilkanaście (<20) ale podaje przykład sytuacji bardziej skomplikowanej niż standardowa
Grzegorz M.

Grzegorz M. Właściciel,
Grzemaart sp. z
o.o.sp.k.

Temat: Ilość zapytań do bazy dla jednego użytkownika

jeśli chodzi o mnie to uważam, że przy zapytaniach gdzie będzie zwracane do 200-300 wyników, bardziej trzeba by zrobić:
1. jedno połączenie na generowanie całej strony (to zajmie więcej czasu niż zapytania SQL)
2. Można się zastanowić czy nie da się lepiej zrobić struktury, ewentualnie zapytań, aby wybierały większą ilość danych (joiny)

Ogólnie jeśli strona ładuje się w dobrym czasie (dobrze jest dodać licznik) to nie ma się czym przejmować :)

Temat: Ilość zapytań do bazy dla jednego użytkownika

witam
a można wiedzieć jaka wersja SQL?
Wydaje mi się że od tego powinniśmy zacząć.
Tomasz Budzyński

Tomasz Budzyński Programista,
Devesoft Software
Development

Temat: Ilość zapytań do bazy dla jednego użytkownika

Musze powiedzieć, że pytanie jest za bardzo ogólne, odpowiedzi zaczynają być szczegółowe i trafiają tylko w konkretne sytuacje.
Pytania dodatkowe dla autora:
Jaka jest złożoność zapytań?
Czy zapytania mogą się powtarzać przy kolejnych żądaniach ?
Czy to płaskie tabele, czy może struktury wielowymiarowe z relacjami między sobą ? Jeśli tak to jak dużo relacji jest?
Jak częste są modyfikacje?
Czy to aplikacja webowa czy jakiś desktop z lokalną bazą?
No i jaka to właściwie baza danych ?
Jak duże ilości danych są tam zapisane? czy to jest 10-30k rekordów czy może 10 milionów rekordów na tabele.

Chciałbym zauważyć że czasami 5 zapytań to za dużo, a w innym przypadku ciężko zejść poniżej 100 bo taka jest specyfika danych. Dopóki nie będzie odpowiedzi na te podstawowe pytania to nie wiem czy jest sens w ogóle odpowiadać, bo pytanie jest typu "Jaki duży młotek potrzebuje?".

konto usunięte

Temat: Ilość zapytań do bazy dla jednego użytkownika

Jaka jest złożoność zapytań?

Raczej zwyczajne SELECT z jednej lub wielu tabel, ewentualnie z segregacją
Czy zapytania mogą się powtarzać przy kolejnych żądaniach ?

Właściwie nie powtarzają się
Czy to płaskie tabele, czy może struktury wielowymiarowe z
relacjami między sobą ? Jeśli tak to jak dużo relacji jest?

Nie ma tu standardu, są pojedyńcze tabele ale również z relacjami do max 5 innych
Jak częste są modyfikacje?

Tutaj jest bardzo różnie bo są takie które zmieniają 3% zawartości raz na miesiąc i takie które zmieniają 10% codziennie
Czy to aplikacja webowa czy jakiś desktop z lokalną bazą?

Webowa, serwer przeważnie na osobnym klastrze
No i jaka to właściwie baza danych ?

MySQL
Jak duże ilości danych są tam zapisane? czy to jest 10-30k rekordów czy może 10 milionów rekordów na tabele.

Na ogół około 3-7k rekordów w całej bazie, ale jest dużo długich TEXT (do których się nie odwołuje przez WHERE ale sporo miejsca mogą zajmować)

Jednak zdarzają się też bazy z liczba rekordów przekraczającą milionDawid Zając edytował(a) ten post dnia 01.12.11 o godzinie 12:34
Robert Robakiewicz Mgr Inz

Robert Robakiewicz Mgr
Inz
Inzynier wsparcia
technicznego w NOKIA

Temat: Ilość zapytań do bazy dla jednego użytkownika

Pytanie bardzo ogólne, i ciężko jednoznacznie odpowiedzieć, ale polecam Panu korzystanie z Stored Procedure's, "baza Pana pokocha" :).
Tomasz Budzyński

Tomasz Budzyński Programista,
Devesoft Software
Development

Temat: Ilość zapytań do bazy dla jednego użytkownika

Dzięki za odpowiedz na pytania :)
Jeśli to MySQL i mówisz o klastrze to czy mówisz o paru serwerach z replikacja czy klaster taki na silniku NDB?

Jeśli masz dużo pól TEXT i nie zawsze je potrzebujesz to są rozwiązania dwa :) Albo kolumny TEXT do osobnych tablic i klucze obce lub też każde zapytanie do takich tabel nie powinno pobierać tych kolumn. Chodzi o zmniejszenie przesyłania danych między serwerami oraz ładowania danych później do pamięci.
O samym tuningu mysql'a to można poczytać różne stronki. Używanie pośredniego cache może pomóc ale to nie za wiele ma wspólnego z bazami danych.
Każde zapytanie można przelecieć przez Explain'a żeby wyszukać braku index'ów itp
Także warto się zastanowić nad sortowaniem po kolumnach które nie są indeksami (szczególnie w NDB)

Więcej będzie trudno powiedzieć. Każda baza ma swoje specyficzne miejsca i zapytania nad którymi by trzeba popracować.
Marcin Badtke

Marcin Badtke Administrator Baz
Danych, Citibank
Europe plc

Temat: Ilość zapytań do bazy dla jednego użytkownika

Aby zdenormalizować znormalizowane tabele proponuję widoki. Do tego garść procedur składowanych i powinno hulać. Moim zdaniem jak najwięcej logiki biznesowej powinno być zaszyte w serwerze bazy danych - stworzony do tego. Poza tym po co przesyłać dane do aplikacji jeśli część z nich okaże się niepotrzebna ? W aplikacji zaszyłbym jedynie wizualizację danych + wstępna weryfikacja formatek.

Dodatkowo w bazie powinna być weryfikacja jakości danych (klucze, triggery, inne konstrejny) i bezpieczeństwo. Aplikacja ma tylko dobrze obsłużyć wyjątki.

Spotkałem się z podejściem, że aplikacja w ogóle nie wykonuje zapytań na tabelach, wszystko idzie przez procedury składowane. Podoba mi się ten pomysł - doskonała kontrola nad dostepem do danych. I niech ktoś zrobi wtedy włam przy pomocy SQL'a !

Następna dyskusja:

Przeniesienie bazy SQL z je...




Wyślij zaproszenie do