🎚️PRAGMAs, Einsatzgebiete und Grenzen
PRAGMA-Anweisungen sind SQLites Stellschrauben und Diagnosewerkzeuge. Sie laufen hier gegen eine Kopie der Beispiel-Datenbank in deinem Browser. Quellen: sqlite.org/pragma.html, /whentouse.html, /limits.html.
🔧PRAGMA-Explorer
SQLite (WebAssembly) wird geladen …
✅Wann SQLite?
„SQLite konkurriert nicht mit Client/Server-Datenbanken, sondern mit fopen()“ – so beschreibt es das SQLite-Projekt selbst.
📱
Eingebettete Geräte & Apps
Smartphones, Autos, Fernseher, Kameras – keine Administration, eine Datei, sehr robust.
🗂️
Anwendungs-Dateiformat
Statt eigener Binärformate: Transaktionen, Abfragen und Abwärtskompatibilität geschenkt.
🌐
Websites mit geringer bis mittlerer Last
Laut sqlite.org meist unproblematisch bis etwa 100 000 Zugriffe am Tag – oft deutlich mehr; entscheidend sind die gleichzeitigen Schreibzugriffe.
📊
Datenanalyse & Austausch
CSV importieren, mit SQL auswerten, Ergebnis als eine Datei weitergeben.
⚡
Cache & Zwischenspeicher
Lokaler Cache für Daten aus einem entfernten Dienst.
🧪
Tests & Prototypen
In-Memory-Datenbank (:memory:) startet in Mikrosekunden.
🏢Wann lieber Client/Server?
✍️
Viele gleichzeitige Schreiber
Es gibt immer nur einen Schreiber je Datenbank. Hohe parallele Schreiblast → MariaDB/PostgreSQL.
🛰️
Zugriff über das Netzwerk
Viele Clients auf verschiedenen Rechnern: Netzwerk-Dateisysteme haben oft fehlerhafte Sperren. Ein Datenbank-Server gehört dann davor.
🏔️
Sehr große Datenmengen
Technisch bis ca. 281 TB, praktisch begrenzt durch Dateisystem, Backup und die eine Datei.
👥
Benutzer- und Rechteverwaltung
SQLite kennt keine Benutzer, Rollen oder GRANT – Zugriffsschutz regelt das Dateisystem.
✅ Faustregel
Liegen Daten und Anwendung auf demselben Rechner, ist SQLite fast immer eine gute Wahl. Trennt ein Netzwerk die beiden oder schreiben viele gleichzeitig, passt eher ein Server wie MariaDB – siehe VisualMariaDb.
📏Grenzen (Standardwerte)
| Datenbankgröße | 4 294 967 294 Seiten × 65 536 Bytes ≈ 281 TB |
| Länge eines TEXT/BLOB | Standard 1 000 000 000 Bytes (SQLITE_MAX_LENGTH) |
| Spalten je Tabelle | Standard 2000 (SQLITE_MAX_COLUMN) |
| Länge einer SQL-Anweisung | Standard 1 000 000 000 Bytes |
| Angehängte Datenbanken | Standard 10 (ATTACH), maximal 125 |
| Gleichzeitige Schreiber | 1 je Datenbankdatei |