Temat: [php+mysql}Optymalizacja strony www
Mariusz Lewandowski:
Waldemar Jonik:
(...)
radze poczytać sobie np:
http://www.mysqlperformanceblog.com/2007/08/12/mysql-v...
http://www.barneyb.com/barneyblog/2007/11/25/just-say-...
Cenna informacja, czy w Oracle widoki tez tak zle dzialaja?
W Oracle nie, dodam w DB2 też nie.
W MySQL zależy też jaki widok. W każdej bazie jest jedna rzecz doprowadzająca do szału. Niby prosty SQL, a jak baza zrobi plan wykonania jego, to ma się ochotę wyrzucić serwer za okno z całą szafą. A bo.. stwierdził że ma gdzieś indeks bo mu się nie podoba. Dlatego najważniejsza jest analiza planów, wszelkie tam ekspleiny analizy i tym podobne herezje. Słyszałem że duże bazy sam plan zapytania i kompilacje będzie majstrować 15 minut, a samo execute sekundę. Nie ma na to złotej recepty. Może okazać się że na Oracle dany view działa koszmarnie, a na MySQL śmiga i odwrotnie.
Index oczywiście na tabele, nie na view. W DB2 można też na view... ponoć, nigdy nie robiłem.
Prawdopodobnie rozwalona tabela, albo nie ten index na dany typ kolumny, albo ten engine nie obsługuje akurat tego typu indexu. Można spróbować zawsze dać klucze zewnętrzne, ale one działają nie ze wszystkimi enginami.
Dopiszę jeszcze że brak indeksów zabije Ci każdy join. Chociaż primary, o ile dane się nie dublują.
Paweł Lenk edytował(a) ten post dnia 29.10.10 o godzinie 01:59