SQLite em MQL5: novas características e testes de desempenho - página 2

 
Vladimir Simakov:
É difícil, em princípio, sincronizar o acesso ao mesmo banco de dados a partir de diferentes programas/terminais? Estamos recebendo ersatz novamente?
Não temos nenhuma tarefa desse tipo diante de nós.
 
Obrigado) valiosa introdução.
Agora você pode usar bancos de dados em vez de arquivos para armazenar grandes quantidades de dados.
 
Renat Fatkhullin:
Não temos tal tarefa diante de nós.
Por que não?
 
Renat Fatkhullin:

Você já viu a tabela de desempenho acima? Muitas vezes é mais rápido na MQL5 do que na C++.

Naturalmente, tudo é multifacetado e tudo está correto.

A questão é sobre o que acontece se diferentes programas/processos acessam independentemente o mesmo arquivo de banco de dados. Não um programa (MQL5), mas vários programas independentes que não conhecem uns aos outros e não usam o mesmo cabo de banco de dados.

O desempenho, sim, é excelente.
Sim, processos diferentes na Sqlite provavelmente estarão bloqueados.
Talvez a manipulação do banco de dados deva ser uma diretiva de pré-processador para cada arquivo individual, que deve ser declarada em cada EA/script,
algo como manipulação interna comum para base.

 
Renat Fatkhullin:

Pare de espalhar disparates flagrantes sobre "matar SSDs" de usuários incompetentes.

As copiadoras Terminal-to-Terminal no Mercado são implementadas com base no princípio da atualização dos dados no arquivo a cada 10 segundos.

Não é difícil calcular quantos registros são por ano.

 

A propósito... recentemente notou que o laptop está ficando mais lento. Limpou o disco, decidiu verificar como o ssd se sente, já que este equipamento shaitan não está bem estudado para mim. Verificado, mostrou 68% de vida restante, o laptop tem pouco mais de 2 anos de idade. Isso é engraçado.

Mas até onde eu me lembro, o parafuso no fuso poderia ter morrido após 2 anos em silêncio.

Unidade do sistema, todos os arquivos appdata/roaming para MT5 estão em outro, ainda não checaram esse

 
fxsaber:

As copiadoras Terminal-to-Terminal no Mercado são implementadas com base no princípio de atualizar os dados no arquivo uma vez a cada 10 segundos.

Não é difícil calcular quantos registros isto é por ano.

Oooh... 1/10s de um segundo - que código de merda feroz. Dar às pessoas mapeamento de arquivos nativos com sistema de sincronização de primitivos...
 
Pavel Verveyko:
Obrigado) valiosa introdução.
Agora você pode usar bancos de dados em vez de arquivos para armazenar grandes quantidades de dados.
Desculpe a pergunta núbia: "qual é a diferença fundamental? É mais fácil e mais conveniente separá-los? Mais espaço? Algo mais?
 
Renat Fatkhullin:

Se você quiser trocar dados entre terminais, e se você tornar possível conectar um terminal para edição e o outro apenas para leitura, como arquivos, tudo através de uma memória super rápida?

seria possível em mql4?
 
A função DatabaseExecute aceita filas para preencher a tabela, mas não pode haver mais de 64 filas. Esta é uma limitação dos parâmetros de função. E se houver mais filas? Como preencher uma mesa grande sequencialmente?