SQLite: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
portuguese version |
Nessun oggetto della modifica |
||
Riga 6:
* è molto piccolo (meno di 250KiB per l'intera libreria)
* è molto veloce; in molti casi più veloce di [[MySQL]] e [[PostgreSQL]]
* il codice sorgente è liberamente disponibile, chiaro e ben commentato
* supporta buona parte
* l'API è semplice da utilizzare
* ha transazioni atomiche, consistenti, isolate e durabili ([[ACID]]), anche in caso di crash di sistema o blackout
* è multipiattaforma
Riga 13 ⟶ 15:
* il database consiste di un unico file il cui formato interno è indipendente dalla piattaforma
* non ha dipendenze esterne
* normalmente non richiede alcun lavoro di amministrazione, ma supporta il comando SQL VACUUM nel caso si renda necessario
Ci sono, naturalmente, anche degli svantaggi:
* non possiede stored procedures, gestione dei permessi e molte altre funzionalità tipiche dei "colossi"
* non ha una vera gestione della concorrenza (le applicazioni che lo utilizzano, se necessario, devono implementarla)
* non offre alcuna cache per le query (e non ne ha la possibilità, non esistendo un processo server centrale)
* non ha protocolli di rete, non essendo utilizzabile come programma standalone; è possibile utilizzare un database in remoto, ma solo servendosi del filesystem del sistema operativo, con prestazioni difficilmente accettabili
* non è in grado di gestire dati binari in modo sicuro
* non supporta alcuni importanti comandi SQL:
** RIGHT e FULL OUTER JOIN
** sottoquery variabili
** transazioni annidiate
** ALTER TABLE offre pochissime possibilità
Una sua peculiarità è il gestire i "tipi" in modo molto flessibile: ogni campo può contenere qualsiasi tipo di dato (o quasi; gestito differentemente nella versione 2 e 3).
|