![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 726 Pomógł: 20 Dołączył: 8.12.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Zastanawiam czy ma znaczenie na prędkości działania wielkość tabeli w bazie.
Sprawa tyczy się tego, że albo będę musiał do już sporej tabeli dopisać jeszcze 3 pola, albo stworze nową gdzie stworze 3 identyczne pola w stosunku do tej istniejącej i dopisze 3 nowe. Zastanawiam się czy jest to jaka kolwiek różnica w takim wypadku dla mysql'a czy nie, dodam ze dość spore obciążenia ma ta dotychczasowa, dla ew. tej nowej przewiduje znacznie mniejsze, ale i tak znaczne. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Cytat Zastanawiam czy ma znaczenie na prędkości działania wielkość tabeli w bazie. Oczywiscie ze tak.Ogolnie to zalezy od ilosci tych danych i jak bedziesz laczyl to relacja i wyciagal dane. Zrob testy i sam sie przekonasz co lepsze. -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 726 Pomógł: 20 Dołączył: 8.12.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Może źle nazwałem.
Czy dla wydajności bazy lepiej dociążyć istniejące tabele czy lepiej stworzyć osobne. Nie jestem wstanie tego przetestować, chodźby z uwagi na ilości i wykonywanie zadań jednoczenie, znaczy się w tym samym czasie przez wielu userów. Stąd pytam o teoretykę. I zdaje sobie sprawę że czym większa tabele tym wolniej pracuje, pytanie czy baza z większą tabelą powinna pracować szybciej czy z 2 mniejszymi. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Mozesz zrobic kopie bazy, spisac wywolywane zapytania i je wykonac na kopii tej bazy.
A do optymalizacji nie jest potrzebna teoria tylko praktyka -- uruchomisz i dziala szybciej to dziala szybciej. Cytat Czy dla wydajności bazy lepiej dociążyć istniejące tabele czy lepiej stworzyć osobne. 1. najpierw baza powinna byc znormalizowana, potem ja optymalizuj 2. i znow masz wybor miedzy wiekszym rekordem (dodales nowe kolumny) -> wieksza tabela, a zlaczeniami z ta nowa tabela, no i to musisz sprawdzic, bo oba rozwiazania moga ci spowolnic system -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 0 Dołączył: 19.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
Rzuć okiem na testy:
http://karpisz.mech.pk.edu.pl/db_norm.htm Masz porównanie szybkości, w przypadku danych rozbitych na tabele i trzymanych razem. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 254 Pomógł: 10 Dołączył: 8.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Zerknąłem na podany artykuł, ale nie można się opierać na przedstawionych tam wynikach w sytuacji kiedy korzystamy np. z MySQL, czy PostgreSQL, czy ORACLE i wykorzystujemy w miarę dobrze ich możliwości:
- jeśli dobrze zrozumiałem to na wspomnianych w artykule tabelach jest robiony sequence scan, a co za tym idzie pewnie tabele są łączone nested loop'em i w zasadzie tylko ten wariant jest tam rozpatrywany - zawsze można założyć indeksy - index scan jest znacznie szybszy - bazy takie jak PostgreSQL, czy ORACLE można zmusić (ale też same to potrafią dzięki GEQO) do wyboru najoptymalniejszego algorytmu łączenia Suma sumarum - przetestuj sam, dla jakiego przypadku będzie system działał szybciej. -------------------- --------------------------------------------------------------------------------
weblog.axent.pl -------------------------------------------------------------------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 23:20 |