SQLite in MQL5: neue Funktionen und Leistungstests - Seite 2

 
Vladimir Simakov:
Ist es prinzipiell schwierig, den Zugriff auf dieselbe Datenbank von verschiedenen Programmen/Terminals aus zu synchronisieren? Werden wir wieder zum Ersatzmann?
Wir haben keine solche Aufgabe vor uns.
 
Vielen Dank für die wertvolle Einführung.
Jetzt können Sie Datenbanken anstelle von Dateien verwenden, um große Datenmengen zu speichern.
 
Renat Fatkhullin:
Wir haben eine solche Aufgabe überhaupt nicht vor uns.
Warum nicht?
 
Renat Fatkhullin:

Haben Sie die obige Leistungstabelle gesehen? In MQL5 ist es oft schneller als in C++.

Natürlich ist alles multithreadingfähig und alles ist korrekt.

Die Frage ist, was passiert, wenn verschiedene Programme/Prozesse unabhängig voneinander auf dieselbe Datenbankdatei zugreifen. Es handelt sich nicht um ein Programm (MQL5), sondern um mehrere unabhängige Programme, die nichts voneinander wissen und nicht dasselbe Datenbank-Handle verwenden.

Die Leistung ist in der Tat ausgezeichnet.
Ja, verschiedene Prozesse in Sqlite werden wahrscheinlich blockiert sein.
Vielleicht sollte das Datenbank-Handle eine Präprozessor-Direktive für jede einzelne Datei sein, die in jedem EA/Skript deklariert werden sollte,
so etwas wie ein internes gemeinsames Handle für Base.

 
Renat Fatkhullin:

Hören Sie auf, unverhohlenen Unsinn über "tödliche SSDs" von inkompetenten Benutzern zu verbreiten.

Die Terminal-zu-Terminal-Kopierer auf dem Markt arbeiten nach dem Prinzip, die Daten in der Datei alle 10 Sekunden zu aktualisieren.

Es ist nicht schwer zu berechnen, wie viele Datensätze das pro Jahr sind.

 

Übrigens... vor kurzem ist mir aufgefallen, dass der Laptop langsamer geworden ist. Ich habe das Laufwerk gereinigt und beschlossen, zu prüfen, wie sich die SSD anfühlt, da es sich um ein glänzendes Stück Hardware handelt, mit dem ich mich nicht viel beschäftigt habe. Bei der Überprüfung wurde eine Restlebensdauer von 68 % angezeigt, der Laptop ist etwas über 2 Jahre alt. Das ist witzig.

Aber soweit ich mich erinnere, könnte die Schraube an der Spindel nach 2 Jahren still und leise gestorben sein.

Systemlaufwerk, alle appdata/roaming Dateien für MT5 sind auf einem anderen Laufwerk, das ich nicht überprüft habe

 
fxsaber:

Die Terminal-zu-Terminal-Kopierer auf dem Markt arbeiten nach dem Prinzip, die Daten in der Datei einmal alle 10 Sekunden zu aktualisieren.

Es ist nicht schwer zu berechnen, wie viele Datensätze dies pro Jahr sind.

Oooh... 1/10s einer Sekunde - was für ein krasser Scheißcode. Geben Sie den Leuten eine native Dateizuordnung mit System-Sync-Primitiven...
 
Pavel Verveyko:
Vielen Dank für die wertvolle Einführung.
Sie können jetzt Datenbanken statt Dateien verwenden, um große Datenmengen zu speichern.
Entschuldigung für die nubische Frage: "Was ist der grundlegende Unterschied? Ist es einfacher und bequemer, sie zu sortieren? Mehr Platz? Sonst noch etwas?
 
Renat Fatkhullin:

Wenn Sie Daten zwischen Terminals austauschen wollen, wie wäre es dann, wenn Sie ein Terminal zum Bearbeiten und das andere nur zum Lesen von Dateien anschließen, und zwar über einen superschnellen Speicher?

Wäre dies in mql4 möglich?
 
Die Funktion DatabaseExecute akzeptiert Zeilen, um die Tabelle zu füllen, aber es können nicht mehr als 64 Zeilen sein. Dies ist eine Einschränkung der Funktionsparameter. Und wenn es mehr Reihen gibt? Wie füllt man eine große Tabelle sequentiell?