Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Optymalizacja zapytania
Forum PHP.pl > Forum > Bazy danych > MySQL
Krisu
Problem jest następujący, posiadam rekord, który zawiera ok 80 pól, takich rekordów jest ok 60 tys.

Aplikacja wymusza na mnie by 4 pola, które są przypisane do rekordu i powinny być aktualizowane za każdym odświeżeniem strony.
(wielu użytkowników może mieć dostęp do tych samych danych). Aplikacja jest przewidziana na ok 10 tys użytkowników.
Prognozowana do liczba operacji na minutę to ok 3-4.

Zastanawiam się zatem czy optymalnie jest aktualizować tylko te 4 pola i operować tym samym na jednym rekordzie czy utworzyć oddzielną tabelę dla tych pól z odniesieniem do danego rekordu. Tabela niestety nie może być przechowywana w pamięci.

Dodam jeszcze ze dane pola są tak samo często odczytywane jak i zapisywane. Dane nie mogą zostać uszkodzone.

Nasuwa mi się na myśl, by stworzyć oddzielną tabelę dla tych pól z wykorzystaniem jakiegoś szybkiego magazynu danych, ale wolę zapytać kogoś bardziej doświadczonego w tym temacie, bo może są inne sposoby?



Edit:

Jeszcze jedno pytanie. Jak rozwiązać problem, gdy jest zlecone jakieś działanie na serwerze (operacje na bazie danych) ale użytkownika nie ma aktualnie przy komputerze i nie może wykonać skryptu, przychodzi mi na myśl tylko utworzenie pliku cron, który wykona się o zaplanowanym czasie, ale z racji tej, że z php chyba nie dam rady utworzyć zadań cron-a, muszę utworzyć jeden plik , który wykona się przez crona np co minute lub 5 min i będzie on sprawdzał w bazie danych wszystkie polecenia do wykonania, a same zlecenia bym zapisywał do bazy w postaci np zapytań.

Czy to dobry pomysł?
Crozin
80 kolumn wskazuje na to, że mogłeś coś zrypać przy projekcie schematu bazy danych. Mógłbyś pokazać całą strukturę tej tabeli? W sumie mógłbyś pokazać też jakie zapytania na niej będziesz wykonywać - tak łatwiej będzie zrozumieć nam co dokładnie tam majstrujesz. wink.gif

60 tys. rekordów to bardzo mało, nawet na niezbyt dobrze zaprojektowanej bazie nie powinno być większych problemów. W każdym bądź razie jest to ilość na tyle mała, że bez problemu możesz porobić sobie testy (przetestować szybkość działania różnych wariantów na jakiś losowych danych).
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.