SQLite dans MQL5 : nouvelles fonctionnalités et tests de performance - page 2

 
Vladimir Simakov:
Est-il difficile en principe de synchroniser l'accès à la même base de données à partir de différents programmes/terminaux ? Est-ce qu'on redevient des ersatz ?
Nous n'avons pas du tout cette tâche devant nous.
 
Merci) introduction précieuse.
Vous pouvez désormais utiliser des bases de données au lieu de fichiers pour stocker de grandes quantités de données.
 
Renat Fatkhullin:
Nous n'avons pas du tout une telle tâche devant nous.
Pourquoi pas ?
 
Renat Fatkhullin:

Avez-vous vu le tableau des performances ci-dessus ? Il est souvent plus rapide en MQL5 qu'en C++.

Bien sûr, tout est multithread et tout est correct.

La question porte sur ce qui se passe si différents programmes/processus accèdent indépendamment au même fichier de base de données. Pas un seul programme (MQL5) mais plusieurs programmes indépendants qui ne se connaissent pas et n'utilisent pas le même gestionnaire de base de données.

La performance, oui, est excellente.
Oui, les différents processus de Sqlite seront probablement bloqués.
Peut-être que le gestionnaire de la base de données devrait être une directive du préprocesseur pour chaque fichier individuel, qui devrait être déclaré dans chaque EA/script,
quelque chose comme un gestionnaire commun interne pour la base.

 
Renat Fatkhullin:

Arrêtez de répandre des absurdités flagrantes sur la "mort des SSD" de la part d'utilisateurs incompétents.

Les copieurs Terminal à Terminal du Marché sont mis en œuvre sur le principe d'une mise à jour des données du fichier toutes les 10 secondes.

Il n'est pas difficile de calculer combien d'enregistrements cela représente par an.

 

Au fait... j'ai récemment remarqué que l'ordinateur portable ralentit. J'ai nettoyé le disque, j'ai décidé de vérifier comment le ssd se sent, comme c'est une pièce brillante du matériel que je n'ai pas beaucoup étudié. La vérification a montré que la durée de vie restante était de 68%, l'ordinateur portable a un peu plus de 2 ans. C'est drôle.

Mais pour autant que je me souvienne, la vis de la broche aurait pu mourir après 2 ans de silence.

Lecteur système, tous les fichiers d'appdata/roaming pour MT5 sont sur un autre, je ne l'ai pas vérifié.

 
fxsaber:

Les copieurs Terminal à Terminal du Marché sont mis en œuvre sur le principe d'une mise à jour des données du fichier toutes les 10 secondes.

Il n'est pas difficile de calculer combien d'enregistrements cela représente par an.

Oooh... 1/10 de seconde - quel code de merde féroce. Donner aux gens un mappage natif des fichiers avec des primitives de synchronisation du système...
 
Pavel Verveyko:
Merci) introduction précieuse.
Vous pouvez désormais utiliser des bases de données au lieu de fichiers pour stocker de grandes quantités de données.
Désolé pour la question nubienne : "quelle est la différence fondamentale ? Est-il plus facile et plus pratique de les trier ? Plus d'espace ? Autre chose ?
 
Renat Fatkhullin:

Si vous voulez échanger des données entre terminaux, que diriez-vous de permettre de connecter un terminal pour l'édition et l'autre uniquement pour la lecture, comme des fichiers, le tout à travers une mémoire super rapide ?

serait-il possible dans mql4 ?
 
La fonction DatabaseExecute accepte des lignes pour remplir la table, mais il ne peut y avoir plus de 64 lignes. Il s'agit d'une limitation des paramètres de la fonction. Et s'il y a plus de rangs ? Comment remplir un grand tableau de manière séquentielle ?
Raison: