Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Geschwindigkeit SQLite (https://www.delphipraxis.net/156924-geschwindigkeit-sqlite.html)

Real_Thunder 20. Dez 2010 18:35

Datenbank: SQLite • Version: 3.x? • Zugriff über: Aducom SQLite

Geschwindigkeit SQLite
 
Ich hätte da mal eine Allgemeine Frage,
und zwar bis zu wie vielen datensätzen SQLite noch sinnvoll ist...
Ich stehe vor einem größeren Projekt in dem 20.000 und mehr Datensätze mit ca 15 Spalten in einer Tabelle stehen....
Macht es Sinn dies Über SQLite zu realisieren ?

Ich bin auch offen für andere (Embedded) Datenbanken

s.h.a.r.k 20. Dez 2010 18:37

AW: Geschwindigkeit SQLite
 
Eine Datenbank ist dafür ausgelegt Millionen an Datensätzen verwalten zu können. Meist liegen die Performanceprobleme imho an den SQL-Queries, die man auf die DB los lässt. Ebenso sollte man sich auch mit dem Thema Index befassen, da dies diverse Abfragen schneller macht.

Zu deiner Frage speziell: SQLite sollte das eigentlich wunderbar handhaben können. Viele Datensätze sind das ja nicht unbedingt ;) Zumindest nicht für eine Datenbank.

mkinzler 20. Dez 2010 18:41

AW: Geschwindigkeit SQLite
 
Es kommt aber auch darauf an, wo die Datei liegt und wie passend die Tabele indexiert ist.
Btw. 15 Spalten und eine Tabelle hört sich nicht unbedingt nach gut normalisiert an

Real_Thunder 20. Dez 2010 19:28

AW: Geschwindigkeit SQLite
 
Na dann werde ich es wohl mit dem SQLite versuchen...
Also das mit der 15-Spaltiger Tabelle, ist die Adresstabelle....
Mit Indizies wird ganz sicher gearbeitet....
ebenso wie mit Queries über mehere Tabellen View und Triggers...

Mein Bedenken lag halt da drin das SQLite maximal 8MB cachen kann...
und bei einer Datebankdatei > 70 mb... starke Perfomance-Probleme auftauchen können....
die ich dann echt nicht gebrauchen kann....

Bernhard Geyer 20. Dez 2010 19:45

AW: Geschwindigkeit SQLite
 
Also bei einer DB-Größe von 70 MB musst du schon ziemlich viel Mist bauen damit du eine langsame Performance hast.
Diese 70 MB werden schon von Windows (und vermutlich auch MacOS/Linux) fast immer im Festplattencache des Betriebssystems liegen so das hier wenig "langsamheit" zu erwarten ist.

Aber bei meinen Tests vor ca. 3 Jahren war SQLite nicht das Performancewunder gegenüber ALS, TurboDB und anderen Desktop-DB's.

mkinzler 20. Dez 2010 19:48

AW: Geschwindigkeit SQLite
 
Zitat:

Also das mit der 15-Spaltiger Tabelle, ist die Adresstabelle....
Mit oder ohne Wiederholgruppen?
Ich bin mir sicher, da kann man normalisieren.

Assarbad 20. Dez 2010 21:51

AW: Geschwindigkeit SQLite
 
Zitat:

Zitat von Real_Thunder (Beitrag 1069632)
Ich stehe vor einem größeren Projekt in dem 20.000 und mehr Datensätze mit ca 15 Spalten in einer Tabelle stehen....
Macht es Sinn dies Über SQLite zu realisieren ?

Absolut. Ich habe schon mit über 20 Millionen Datensätzen gearbeitet und SQLite hat mich nie enttäuscht.

Allerdings kann ich mich anschließen, die Reihenfolge der Indizes und welche Spalten indiziert werden sind wichtig. Auch kann es bei diversen Triggern zu Performanceverlusten kommen. Alles in allem ist die Frage also wohl erstmal was genau du denn speichern willst und wie es abgefragt werden soll.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz