L'altro giorno mi sono imbattuto in una istruzione che non conoscevo: EXPLAIN!

In pratica ci permette di analizzare le query, per tracciare le eventuali migliorie da apportare.

In un sito di medie / grandi dimensioni, può essere molto importante ottimizzare le query su tabelle con migliaia di record.

Per poter usare il comando, vi basta anteporlo alla query:

EXPLAIN SELECT * FROM tabella

L'output non sarà quello classico a cui siete abitatuati.

In genere le JOIN sono usate per "unire" più tabelle usando valori comuni.

Ma nessuno dice che non possano essere usate anche per altre operazioni al di fuori di una SELECT.

Infatti, oggi, vediamo un rapido esempio su come eseguire una DELETE (database MySQL).

Sul mio db MySQL ho delle tabelle simili, sulle quali dovevo fare la somma.

Quindi una cosa del genere:

SELECT bcv_modello, SUM(bcv_qta) sum FROM bcv
WHERE bcv_codice IN(108491, 908491) AND bcv_causale IN(4020, 4022, 4005, 4030)
GROUP BY bcv_modello

Una query praticamente identica su un'altra tabella.

Come posso fare la somma del risultato delle due tabelle?

Partendo da un esempio di tabella reale, nel senso che la uso in un programma in azienda, vediamo come, attraverso Javscript, possiamo identificare i valori delle celle della riga selezionata.

Questa è la teballa HTML (riempita tramite PHP, ma cambia poco):

<table id="tbl_and">
    <thead>
        <tr>
            <th>AGENTE</th>
            <th>RAG.SOC.</th>
            <th>BUDGET</th>
            <th>ORDINE</th>
            <th>COLLEZIONE</th>
        </tr>
    </thead>
    <tbody>
        <?php foreach ($array as $var): ?>
            <tr>
                <td><?php echo $var['and_utente']; ?></td>
                <td><?php echo $var['and_ragsoc']; ?></td>
                <td><?php echo $var['and_budget']; ?></td>
                <td><?php echo $var['and_ordine']; ?></td>
                <td><?php echo $var['and_collezione']; ?></td>
            </tr>
        <?php endforeach; ?>
    </tbody>
</table>

La funzione che andremo a vedere caricherà tutte le righe della tabella, e si occuperà di intercettare l'evento click sulla riga.

Oggi vediamo un piccolo programma che serve per rimuovere il CSS inutilizzato da pagine web.

Il programma è sotto licenza MIT, e sostanzialmente trova e rimuove le regole inutilizzate.

Questo ci permette di ridurre il peso di ciò che viene caricato dalla pagina, essendo anche codice non usato.

Il programma si basa su Node.js, e quindi è usabile su tutte le piattaforme.