![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 2.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
witam. czy spotkał się ktoś z takim przypadkiem aby jakąkolwiek metodą pobrać metodą pobrać całą bazę danych a następnie pracować na wyniku tego działania tak aby nie odpytywać wciąż bazy danych. chodzi jedynie o możliwość operacji select.
|
|
|
![]()
Post
#2
|
|
Grupa: Zablokowani Postów: 47 Pomógł: 7 Dołączył: 6.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
hmm... można to wszystko zarzucić do klas.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 254 Pomógł: 10 Dołączył: 8.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Czy można zrobić takiego SELECT'a ? Oczywiście, np tak:
1. Pobierasz listę tabel razem z kolumnami (odpowiednia tabelka w information_schema) 2. Generujesz w skrypcie 2-wymiarową tablicę indeksowaną nazwami kolumn (wszystkimi) i nazwami tabel, w której umieszczasz informacje, czy dana kolumna należy do danej tabeli. 3. W pętli po tabelkach generujesz zapytania, tak aby w klauzuli SELECT były wszystkie kolumny, a te spośród nich które nie należą do danej tabli ustawiasz na NULL. 4. Złączasz te zapytania przez UNION 5. Odpalasz zapytanie 6. Dostajesz odpowiedź i zdajesz sobie sprawę, że pobieranie całej bazy danych jednym zapytaniem jest bez sensu ![]() -------------------- --------------------------------------------------------------------------------
weblog.axent.pl -------------------------------------------------------------------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 2.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
heh
![]() |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 254 Pomógł: 10 Dołączył: 8.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Moim zdaniem próbujesz wykonać nie swoją robotę. Twoim zdaniem (przynajmniej w kontekście optymalizacji) jest stworzenie odpowiedniej struktury bazy danych (zakładając, że kryterium wydajności jest bardzo ważne możesz nawet złamać 1NF relacji), założenie odpowiednich ograniczeń i index'ów, ustalenie odpowiednich podpowiedzi do optymalizatora itp.
Zachowanie wydajności na odpowiednim poziomie (po wykonaniu powyższych czynności) należy już do SZBD oraz API służącego do komunikowania się z bazą. One już zadbają o cache'owanie zapytań, zbieranie statystyk, odpowiednie rozmiary buforów itp. -------------------- --------------------------------------------------------------------------------
weblog.axent.pl -------------------------------------------------------------------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
ericdraven to jest bez sensu, bo jak ma się jakąś bazę to ona nawet 2GB pamięci operacyjnej sie nie zmieści, więc wynika z tego że masz małą bazę, a jak jest mała to obciążenie na niej będzie znikome.
Po drugie aby była spójność danych musiał byś zablokować zapis całej bazy, co jest kolejnym bezsensem. Jedynym uzasadnieniem pobrania całej bazy danych, jest backup, ale do tego jest specjalny mechanizm, który generuje takie dane. -------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 17:27 |