Thread View: pl.comp.lang.php
2 messages
2 total messages
Started by Misio
Mon, 23 Mar 2020 07:50
mądrzejsze rozwiązanie do wyciągania danych z bazy
Author: Misio
Date: Mon, 23 Mar 2020 07:50
Date: Mon, 23 Mar 2020 07:50
20 lines
1526 bytes
1526 bytes
Witam Napisałem jakiś czas temu aplikaje PHP, ale szukam bardziej mądrego rozwiązania pewnego problemu. Chodzi o to, że mamy tabelę z produktami oraz tabelkę z kategoriami tych produktów kategoria_produkt id_produktu|id_kategorii Żeby wyciągnąć dane z kategorii wyciągam z bazy te produkty, które należą do kategorii - przygotowuje listę ich ID i potem wysyłam zapytanie typu SELECT FROM produkty WHERE id IN( PRZYGOTOWANA LISTA ID ) Podejrzewam, że moje rozwiązanie nie jest najlepse i najwydajniejsze i przy dużej ilości id w takim zapytaniu wygląda to słabo. Pod jakim hasłem szukać alternatywnego właściwego rozwiązania? Pozdrawiam
Re: mądrzejsze rozwiązanie do wyciągania danych z bazy
Author: Roman Tyczka
Date: Mon, 23 Mar 2020 08:28
Date: Mon, 23 Mar 2020 08:28
30 lines
1907 bytes
1907 bytes
On Mon, 23 Mar 2020 08:50:18 +0100, Misio wrote: > Witam > > Napisałem jakiś czas temu aplikaje PHP, ale szukam bardziej mądrego > rozwiązania pewnego problemu. Chodzi o to, że mamy tabelę z produktami > oraz tabelkę z kategoriami tych produktów > > kategoria_produkt > id_produktu|id_kategorii > > Żeby wyciągnąć dane z kategorii wyciągam z bazy te produkty, które > należą do kategorii - przygotowuje listę ich ID i potem wysyłam > zapytanie typu > > SELECT FROM produkty WHERE id IN( PRZYGOTOWANA LISTA ID ) > > Podejrzewam, że moje rozwiązanie nie jest najlepse i najwydajniejsze i > przy dużej ilości id w takim zapytaniu wygląda to słabo. Pod jakim > hasłem szukać alternatywnego właściwego rozwiązania? > > Pozdrawiam select p.* from kategoria_produkty kp left join produkty p on p.id = kp.id_produktu where kp.id_kategorii = :id_kategorii -- pozdrawiam Roman Tyczka
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads