SQLite in MQL5: nuove caratteristiche e test delle prestazioni - pagina 2

 
Vladimir Simakov:
È difficile in linea di principio sincronizzare l'accesso allo stesso database da diversi programmi/terminali? Stiamo diventando di nuovo ersatz?
Non abbiamo affatto questo compito davanti a noi.
 
Grazie) preziosa introduzione.
Ora è possibile utilizzare i database invece dei file per memorizzare grandi quantità di dati.
 
Renat Fatkhullin:
Non abbiamo affatto un tale compito davanti a noi.
Perché no?
 
Renat Fatkhullin:

Avete visto la tabella delle prestazioni qui sopra? Spesso è più veloce in MQL5 che in C++.

Naturalmente, tutto è multithreaded e tutto è corretto.

La domanda riguarda cosa succede se diversi programmi/processi accedono indipendentemente allo stesso file di database. Non un programma (MQL5) ma diversi programmi indipendenti che non sanno l'uno dell'altro e non usano lo stesso handle di database.

La performance, sì, è eccellente.
Sì, diversi processi in Sqlite saranno probabilmente in stallo.
Forse l'handle del database dovrebbe essere una direttiva del preprocessore per ogni singolo file, che dovrebbe essere dichiarato in ogni EA/script,
qualcosa come un handle comune interno per la base.

 
Renat Fatkhullin:

Smettete di diffondere palesi sciocchezze su "uccidere gli SSD" da parte di utenti incompetenti.

I copiatori da terminale a terminale nel mercato sono implementati sul principio di aggiornare i dati nel file ogni 10 secondi.

Non è difficile calcolare quanti dischi sono all'anno.

 

A proposito... recentemente ho notato che il portatile sta rallentando. Pulito il disco, ho deciso di controllare come si sente l'ssd, visto che è un pezzo di hardware lucido che non ho studiato molto. Controllato ha mostrato il 68% di vita residua, il portatile ha poco più di 2 anni. È divertente.

Ma per quanto mi ricordo, la vite del mandrino potrebbe essere morta dopo 2 anni tranquillamente.

Unità di sistema, tutti i file appdata/roaming per MT5 sono su un'altra, non l'ho controllata

 
fxsaber:

I copiatori da terminale a terminale nel mercato sono implementati sul principio di aggiornare i dati nel file una volta ogni 10 secondi.

Non è difficile calcolare quanti record sono all'anno.

Oooh... 1/10 di secondo - che codice di merda feroce. Dare alla gente una mappatura nativa dei file con primitive di sincronizzazione del sistema...
 
Pavel Verveyko:
Grazie) preziosa introduzione.
Ora è possibile utilizzare i database invece dei file per memorizzare grandi quantità di dati.
Scusate la domanda nubiana: "qual è la differenza fondamentale? È più facile e più conveniente ordinarli? Più spazio? C'è altro?
 
Renat Fatkhullin:

Se si vogliono scambiare dati tra terminali, cosa succede se si rende possibile collegare un terminale per l'editing e l'altro solo per la lettura, come i file, il tutto attraverso una memoria super veloce?

sarebbe possibile in mql4?
 
La funzione DatabaseExecute accetta righe per riempire la tabella, ma non ci possono essere più di 64 righe. Questa è una limitazione dei parametri della funzione. E se ci sono più file? Come riempire una grande tabella in modo sequenziale?