Olá a todos,
Estou me perguntando se é possível obter os valores de si mesmo para executar uma consulta.
Eu quero criar uma consulta para encontrar um valor em uma classe %Persistent, mas cada uma usa valores diferentes.
Class Kurro.
SQL é uma linguagem padrão para armazenar, manipular e recuperar dados em bancos de dados relacionais.
Olá a todos,
Estou me perguntando se é possível obter os valores de si mesmo para executar uma consulta.
Eu quero criar uma consulta para encontrar um valor em uma classe %Persistent, mas cada uma usa valores diferentes.
Class Kurro.
O mesmo serviço com a possibilidade de receber várias consultas SQL diferentes e sempre entregar o resultado independente de quantas colunas distintas tenham essas diferentes consultas. Aqui demonstro como pode ser possível montar esse tipo de serviço utilizando o Service Bus da Intersystems.
Vamos pensar em um painel real time onde iremos fornecer as informações de consumo de um material por região para o setor de compras e teremos as informações do nome do produto, fabricante e quantidade por exemplo.
Nos bons velhos tempos (tm), determinar o tamanho dos dados, fluxos e índices para uma classe / tabela era fácil - você apenas executava %GSIZE e verificava as globais D, S e I respectivamente.
No entanto, hoje em dia a fragmentação, os nomes globais otimizados e os índices em globais separados produzem a saída% GSIZE parecida com esta:
Global Size Display of /irissys/data/IRIS/mgr/irisshard/
1:35 PM Dec 02 2020
IRIS.Msg 1 IRIS.MsgNames 1 IRIS.SM.Shard 1
IS.DGoWeK.1 24359 IS.DGoWeK.As consultas utilizando intervalo de datas estão muito lentas para você? O desempenho do SQL te desanima? Eu tenho um estranho truque que pode te ajudar! (Desenvolvedores de SQL odeiam isso!)*
Se você tiver uma classe que registra os timestamps quando os dados são adicionados, esses dados estarão em sequência com seus valores IDKEY - isto é, TimeStamp1 < TimeStamp2 se e somente se ID1 < ID2 para todos os IDs e valores de timestamps na tabela - então, você pode usar esse conhecimento para aumentar o desempenho de consultas para intervalos de timestamps. Considere a seguinte tabela:
Class User.IRIS External Table é um projeto de código aberto da comunidade InterSystems, que permite usar arquivos armazenados no sistema de arquivos local e armazenamento de objetos em nuvem, como o AWS S3, como tabelas SQL. 
Ele pode ser encontrado no GitHub
Para instalar o External Table a partir do GitHub, use:
git clone https://github.com/antonum/IRIS-ExternalTable.git
iris session iris
USER>set sc = ##class(%SYSTEM.OBJ).Este é um exemplo de codificação funcionando no IRIS 2020.1 e no Caché 2018.1.3
Ele não será sincronizado com as novas versões
E também NÃO é atendido pelo Suporte da InterSystems!
Globais no Caché / Ensemble / IRIS são normalmente invisíveis ao acessar o SQL
Este exemplo mostra como contornar esse limite.
Desde o Caché 2017, o mecanismo SQL inclui um novo conjunto de estatísticas. Ele registra o número de vezes que uma consulta é executada e o tempo que leva para executá-la.
Esta é uma mina de ouro para qualquer pessoa que está monitorando e tentando otimizar o desempenho de uma aplicação que inclui muitas instruções SQL, mas que não é tão fácil de acessar os dados como algumas pessoas desejam.
É um prazer anunciar que o DBeaver suporta a plataforma de dados InterSystems IRIS nativamente desde a versão 7.2.4. Você não precisa realizar uma configuração manual mais, basta identificar o ícone do IRIS na lista de conexões.
.png)
Todos os campos necessários já vem preenchidos mas, não se esqueça de colocar seu usuário e senha !!!!
.png)
Por padrão o driver do InterSystems IRIS não é incluído na instalação do DBeaver.