Ottimo post di Kent Millligan sul sito “DB2 for IBM i” (https://db2ibmi.blogspot.com/2021/07/tale-of-tape-sysdummy1-vs-tableless-sql.html) che confronta le prestazioni di statement SQL che coinvolgono SYSIBM.SYSDUMMY1 verso “tableless” statement, che non coinvolgono una tabella.
Gli esempi che riporta “DB2 for IBM i” sono molto chiari, meglio utilizzare una sintassi come questa:
VALUES (UPPER(:hv), CURRENT TIMESTAMP)
INTO :hv1, :hv2
oppure
SET :hv1 = UPPER(:hv);
SET :hv2 = current timestamp;
rispetto alla classica istruzione che troviamo spesso anche nei documenti ufficiali IBM
SELECT UPPER(:hv), CURRENT TIMESTAMP
INTO :hv1, :hv2
FROM sysibm.sysdummy1
Il motivo è molto semplice … nel primo caso non viene fatto nessun accesso alle tabelle … in quello con SYSDUMMY1 invece sì (anche se è una tabella semplice con una sola column e una sola row!)
--- Roberto De Pedrini Faq400.comLe funzioni di debug con Visual Studio Code sono disponibili da qualche tempo ma questa nuova versione 2.10.0 semplifica la…
A distanza di due anni e mezzo dal mio post Trasferire oggetti con ObjectConnect ed Enterprise Extender, sono finalmente riuscito…
Con un piccolo trucco anche una semplice istruzione SELECT può eseguire qualsiasi comando di sistema ! Vediamo come...
Una mini-guida a puntate per la configurazione, gestione, uso e risoluzione dei problemi di IBM i NetServer
Una mini-guida a puntate per la configurazione, gestione, uso e risoluzione dei problemi di IBM i NetServer
Una mini-guida a puntate per la configurazione, gestione, uso e risoluzione dei problemi di IBM i NetServer