>>. In primo luogo, voglio limitare il numero dei maxrows restituiti
Quello è Nel migliore dei casi qualcosa che dovrebbe essere fatto al livello di db. Potrebbe anche essere fatto nel codice dei CF. Ma non ci è punto che subisce le spese generali di tir indietroare i dati che non saranno usati.
Potreste probabilmente usare una tabella derivata per limitare i risultati nello SQL. Cioè selezionare i 10 aggiornamenti PRINCIPALI in primo luogo, quindi UNIR alle altre tabelle. La sintassi e la struttura esatte è dipendente della base di dati. La PARTE SUPERIORE di uso del ms SQL, MySQL usa il LIMITE, ecc….
Inoltre, tutto il “piano d'azione delle annotazioni del principale x„ coinvolge ordinare le annotazioni “da una certa colonna„. Sto presupponendo che volete gli ultimi 10 aggiornamenti…? Alcune basi di dati limitano che funzionamenti potete realizzare in una tabella derivata. Così è molto probabile il vostro sql reale dovrà tweaking…
SELEZIONARE s.sID, s.wUserID, s.sStatus, ..... altre colonne…
DA
(
SELEZIONARE IL PRINCIPALE 10 il Sid, il wUserID, sStatus, ...... OtherColumns….
Dagli statusupdates
ORDINE da sCreatedDate DESC
) s
LA PARTE DI SINISTRA UNISCE gli utenti u su s.wUserID=u.wUserID
LA PARTE DI SINISTRA UNISCE le osservazioni c SU c.inreplyto = s.sID
LA PARTE DI SINISTRA UNISCE il Cu degli utenti su c.wUserID=cu.wUserID
ORDINE da s.sCreatedDate DESC, s.sID
>> Secondariamente, vorrei aggiungere “un conteggio„ per il numero delle osservazioni per ogni condizione.
Volete visualizzare il conteggio prima o dopo le osservazioni. Se volete visualizzarli dopo che le osservazioni, quindi using un cfset all'interno del ciclo è benissimo. Se dovete visualizzarli _before_ le osservazioni, quindi dovrete ovviamente conoscere i totali davanti a tempo.