Ho creato una bozza di applicazione remota su libpq per PostrgreSQL . Si comporta bene, ma ho profilato il funzionamento generale dell'applicazione. Per ogni risultato commerciale finale che produco, succede che chiamo qualcosa come 40 clausola select (su tcpip).
Ho delle reminiscenze da SQL Server che mi ricordano di ridurre al minimo il numero di interazioni tra la mia applicazione remota e il database. Dopo aver analizzato le mie selezioni, penso di poter ridurre questo numero a 3 SELECT
clausole, usando i join. Ma non ricordo la sintassi per usare il risultato di a SELECT
in un altro SELECT
.
Per esempio:
SELECT * FROM individual
INNER JOIN publisher
ON individual.individual_id = publisher.individual_id
WHERE individual.individual_id = 'here I would like to use the results of a another select'
Quest'altro SELECT
sarebbe semplicemente del tipo:
SELECT identifier FROM another_table WHERE something='something'
Ecco il layout semplificato delle tabelle, rifiutato un numero di volte per diversi item_types ... (3 tipi totalmente diversi, quindi le 3 query SQL se ottimizzate).
table passage
id_passage PK
business_field_passage bytea
table item
id_item PK
id_passage FK
business_field_item text
table item_detail
id_item_detail PK
id_item FK
business_field_item_detail text
image_content bytea
Ce ne sono diversi id_item
per uno id_passage
.
Ce ne sono diversi id_item_detail
per uno id_item
.
Come lo scriveresti?
Qual è il nome per descrivere l'azione di reindirizzamento di una selezione in un'altra (se presente)?