2013-06-21 15 views
5

Buduję aplikację PHP, która dostanie dużo ruchu. Zawsze nauczyłem się, że powinienem ograniczyć liczbę zapytań SQL (obecnie jest to około 15 na gościa). Mogę ograniczyć to do około połowy, używając PHP do filtrowania i sortowania danych, ale czy będzie to szybsze? Ewentualnie mogę użyć "JOIN" w zapytaniu, aby zmniejszyć liczbę zapytań, ale czy jest to naprawdę szybsze niż wykonywanie wielu zapytań? Dzięki!Wykonaj więcej lub bardziej skomplikowane zapytania SQL lub użyj PHP do filtrowania danych?

+4

zrobić w db, ale dopiero po dowiecie się wiele o „indeksów” dla tabel. – goat

+1

15 zapytań sql na użytkownika na stronę? Och Jezu. – Dementic

Odpowiedz

3

Jeśli masz 15 zapytań na gościa, najprawdopodobniej zrobiłeś coś złego, chyba że Twoja aplikacja jest dość duża.

Korzystanie z PHP na sortowanie i filtrowanie danych zamiast MySQL

Doing sortowanie i filtrowanie w PHP nie uczyni aplikację szybciej, pozwoli on wolniej na pewno, MySQL jest zoptymalizowany być bardzo szybko podane odpowiednie indeksy, więc powinieneś z niego korzystać, kiedy tylko możesz.

Dowiedz się więcej o indeksowaniu baz danych, co ułatwi Ci życie i zwiększy wydajność aplikacji. Oto link:

http://www.mysqltutorial.org/mysql-create-drop-index.aspx

Dołączenie kontra wieloma zapytaniami

Pytasz czy używając dołączyć byłby szybszy niż wykonywanie wielu zapytań.

Odpowiedź brzmi: tak, zawsze szybciej będzie korzystać z łączenia z odpowiednimi indeksami. Który powraca również do pierwszego tematu, indeksowania.

Pamiętaj jednak, że łączenie jest tak wydajne, jak to tylko możliwe, będzie bardzo skuteczne, jeśli zostanie wykonane prawidłowo, i będzie bardzo powolne, jeśli zrobi się źle, więc musisz znać podstawy, aby zrobić to dobrze.

Możesz zajrzeć tutaj wstępem do przyłączenia to:

http://blog.sqlauthority.com/2009/04/13/sql-server-introduction-to-joins-basic-of-joins/

Powiązane problemy