Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> ilość kolumn w tabeli, wpływ na wydajność
fiszol
post
Post #1





Grupa: Zarejestrowani
Postów: 453
Pomógł: 16
Dołączył: 25.05.2004
Skąd: Gorzów Wlkp.

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


Dzieńdobry. Zastanawiając się przed chwilą nad wyglądem jednej z tabel w mojej bazie danych doszedłem do wniosku, ze będzie miała ~52 kolumny (wszystkie int(12)). Narodziło się pytanie - czy to ma jakiś wpływ na pracę MySQL? Dla mnie, te 52 kolumny to dużo, nigdy nie używałem tylu. Może lepiej pomyśleć jak rozbić tabelkę na połowę a może nawet trzy części i operować joinami później?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
alegorn
post
Post #2





Grupa: Zarejestrowani
Postów: 341
Pomógł: 40
Dołączył: 23.06.2009

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


hmmm.

sprawa nie jest prosta.
dla zwyczajnego zastosowania - owe 52 kolumny to ani malo, ani duzo. da rade.

pamietaj jedynie, by nie wybierac danych za pomoca select * from tylko potrzebne kolumny.


jesli potrzebujesz cos maksymalnie szybkiego - to trzeba wiecej zabawy poswiecic przy projektowaniu np kolumny o definiowanej i stałej szerokosci, tzn char zamiast varchar, stosowanie minimalnych wielkosci dla rozmiarow pol np smallint zamiast int, a juz w zadnym razie bigint.. odpowiednio zakladane indexy.. itp.
no, ale to juz osobna zabawa, i bardzo zalezy od tego, gdzie potrzebujesz wydajnosci. czy przy zapisie - czy tez przy odczycie (kwestia odpowiedniego zastosowania indexow)

tak naprawde, kazdy projekt jest inny. sa ogolne zasady, ktorymi trzeba sie kierowac przy projektowaniu (normalizacja itp) ale to tak naprawde wszystko zalezy od projektu
zdazalo mi sie swiadomie lamac zasady normalizacji danych, spowodowac ze czas insertu dla danej tabeli bylby nie do przyjecia na dyzych serwisach - ale udalo mi sie dzieki temu uzyskac zadawalajace wyniki dla zapytan.. srednia odpowiedz api to ok 0.02 sec (przy kilku milionowych tabelach + filtrowanie danych) insert/update tutaj byl bez znaczenia.

j.
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: 11.10.2025 - 02:58