L'APPROVAZIONE, così ottenuta una punta ha alesato e deciso di aggiungere diverse centinaia mille file ad una tabella.
Non troppo sure di distribuzione dei valori sopra la gamma delle categorie, transactioncodes e date, così la ha fatta abbastanza anche durante la gamma dei dati.
Mezza dozzina allora provata di metodi differenti ed analizzato i dati/strutture della tabella.
Presupporre l'identità unica era una chiave primaria ragruppata (presupposto yeah grande), suggerisce di generare l'indice folowwing:
GENERARE L'INDICE di NONCLUSTERED [idx_my_table_trans_cat_id] SOPRA [dbo]. [my_table]
(
[transactioncode] il CSA,
[categoria] il CSA,
[unique_id] il CSA
)
INCLUDERE ([data])
CON (SORT_IN_TEMPDB = FUORI, IGNORE_DUP_KEY = FUORI, DROP_EXISTING = FUORI, IN LINEA = FUORI)
ed allora la domanda:
; con cte2 As
(
a.unique_id prescelto, a.category, a.date, (minuto prescelto (unique_id) dalla c my_table dove c.unique_id > a.unique_id) come next_unique_id
dalla a my_table
dove a.transactioncode = “A„
)
selezionare *
da cte2 a
interno unire la b my_table su a.next_unique_id = b.unique_id e a.category = b.category e b.transactioncode = “R„
dove datediff (d, a.date, b.date) = 1
sembra funzionare realmente bene using l'indice della copertura senza andare indietro ai dati da rivedere…
Ma d'altra parte ci sono alcuni presupposti (secondo l'invio anteriore pure) e realmente devono essere riordinati, benchè, abbastanza soddisfatto dei risultati dati quei presupposti finora.