Pytanie odnośnie wydajności, który sposób selecta jest wydajniejszy.
Sytuacja wygląda tak że mam dwie tabele. Powiedzmy Klient i Zamówienia.
Klient ma wiele zamówień, prosta sprawa.
Właściwie nie chodzi mi o wydajność selecta ale o coś innego. Mam w programie pobrane wcześniej dane z tabel czyli klienta i zamówienia, w pewnym momencie chcę zsynchronizować dane więc chcę sprawdzić czy nie przyszło jakieś nowe zamówienie. Potem je oczywiście pobiorę ale najprawdopodobniej nie przyszło nic nowego, a sprawdzać muszę często więc zależy mi na wydajności, żeby nie obciążać bazy tylko peceta. Więc mogę to sprawdzić na dwa sposoby.
Jeszcze zaznaczę że Klient ma kolumnę OstatnieZamówienie gdzie jest data ostatniego zamówienia jakie przyszło.
Więc, sposoby:
- Robię select zamówień where Klient == klient and data > data_ostatniego_pobrania_zamówień_do_systemu
(Jeżeli nic nie przysżło to select nic nie da, jeżeli przyszło to od razu mam dane) - Robię select Klienta i sprawdzam czy OstatnieZamówienie jest równe data_ostatniego_pobrania_zamówień_do_systemu. Jeżeli nie to ciągnę zamówienia.
Podkreślam że w 99% przypadków nie będzie nowych zamówień. Jak ogólnie sprawdzić co jest szybsze?