Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Wydajnośc baz danych
Demoneos
post
Post #1





Grupa: Zarejestrowani
Postów: 149
Pomógł: 0
Dołączył: 26.02.2008

Ostrzeżenie: (0%)
-----


Czy jeżeli tabela ma bardzo dużo wierszy, to jej podział na mniejsze tabele (np. po 100 000 wierszy każda) mógłby przyśpieszyć wykonywanie zapytać?
Np. tabela przechowująca dane osób mogłaby być podzielona "alfabetycznie" na tabele:
osoby_a, osoby_b, osoby_c, itd.
Gdzie tabela_a przechowuje dane osób, których imię zaczyna się od "A".
  1. swich ( PobierzePierwszaLitere($imie) )
  2. {
  3. case ("a")
  4. $nazwa_tabeli = "osoby_a";
  5. break();
  6. case ("b")
  7. $nazwa_tabeli = "osoby_b";
  8. break();
  9. itd....
  10. }

Czy wówczas np. takie zapytanie:
  1. selec * FROM $nazwa_tabeli WHERE $imie LIKE 'Adam';

wykonywałaoby się szybciej niż gdyb dane wszystki osób były przechowywane w jednej tabeli?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
wykonywałaoby się szybciej niż gdyb dane wszystki osób były przechowywane w jednej tabeli?

Nie tyle, co miejsca, a pamięci. Spróbuj sortować/grupować wyniki z takiego czegoś.

Jedyne, co mi przychodzi do głowy, to partycjonowanie: http://dev.mysql.com/doc/refman/5.1/en/par...g-overview.html

Ale zaznaczam, jeszcze w temat się nie zagłębiałem, więc mogę siać herezje. (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.10.2025 - 15:31