Otimização do SQL usando IA generativa

Objective

After completing this lesson, you will be able to usar IA generativa para otimizar instruções SQL no SAP HANA Cloud Central - Console SQL

Otimização do SQL usando IA generativa

No atual ambiente empresarial orientado por dados, o desempenho de consultas SQL é fundamental para manter operações de banco de dados eficientes e reduzir custos de infraestrutura. O console SQL do SAP HANA Cloud Central fornece uma interface poderosa para executar e gerenciar consultas, mas até mesmo profissionais de banco de dados experientes muitas vezes têm dificuldade em identificar oportunidades de otimização em instruções SQL complexas.

A IA generativa surgiu como uma ferramenta transformadora que pode analisar seu código SQL, identificar gargalos de desempenho, sugerir estratégias de índice e recomendar reescritas de consultas – tudo isso sem exigir conhecimento profundo na otimização de consultas. Ao aproveitar os recursos de IA generativa dentro ou ao lado do fluxo de trabalho do console SQL, você pode acelerar os ciclos de desenvolvimento, melhorar os tempos de execução de consultas, reduzir a carga do sistema e, em última análise, maximizar o desempenho e a eficiência de custo de seu investimento no SAP HANA Cloud.

Uso de IA generativa para otimizar SQL

No SAP HANA Cloud Central - Console SQL, agora é possível permitir que a IA generativa explique o código SQL no SAP HANA Cloud Central - Console SQL. No console SQL, a IA generativa explicará as instruções SQL selecionadas quando você usar a função Explicar instrução SQL usando IA, como mostrado na imagem.

A imagem mostra a opção Otimizar instrução SQL usando a função de IA disponível no console SQL.

Um exemplo de um erro SQL comum

Como um começo, vamos tentar recuperar informações de cliente e pedido das tabelas CUSTOMER e ORDERS. O seguinte campo precisa ser recuperado das duas tabelas:

  • ID do cliente
  • Primeiro nome
  • Sobrenome
  • Endereço de e-mail
  • ID da ordem
  • País
  • Montante total
  • Status da ordem
  • Tipo de cliente

Os resultados só devem mostrar os clientes premium localizados em Espanha que têm pedidos com o status "Reter". O SQL pode ter o seguinte aspecto:

SQL
123456789101112
SET SCHEMA HC2AI_DEMO; SELECT CUSTOMER.CUSTOMER_ID, CUSTOMER.FIRST_NAME, CUSTOMER.LAST_NAME, CUSTOMER.EMAIL, ORDERS.ORDER_ID, CUSTOMER.COUNTRY, ORDERS.TOTAL_AMOUNT, ORDERS.ORDER_STATUS, CUSTOMER.CUSTOMER_TYPE FROM ORDERS, CUSTOMER WHERE ORDERS.CUSTOMER_ID = CUSTOMER.CUSTOMER_ID AND CUSTOMER.COUNTRY = 'SPAIN' AND CUSTOMER.CUSTOMER_TYPE = 'PREMIUM' AND ORDERS.ORDER_STATUS = 'Hold'; Result Set Rows: 321

O uso da opção Otimizar instrução SQL usando IA gera a seguinte instrução SQL:

SQL
12345678910111213141516171819202122232425262728
-- AI Optimization Result: -- The query was optimized by replacing the implicit join with an explicit INNER -- JOIN, which is more efficient and readable in SAP HANA. Table aliases were -- introduced for clarity. Filters on CUSTOMER and ORDERS are pushed as early as -- possible to minimize the number of rows processed. These changes improve query -- performance and maintain the original semantics. SET SCHEMA HC2AI_DEMO; SELECT C.CUSTOMER_ID, C.FIRST_NAME, C.LAST_NAME, C.EMAIL, O.ORDER_ID, C.COUNTRY, O.TOTAL_AMOUNT, O.ORDER_STATUS, C.CUSTOMER_TYPE FROM CUSTOMER C INNER JOIN ORDERS O ON O.CUSTOMER_ID = C.CUSTOMER_ID WHERE C.COUNTRY = 'SPAIN' AND C.CUSTOMER_TYPE = 'PREMIUM' AND O.ORDER_STATUS = 'Hold'; -- Optimization Summary: -- 1. Replaced comma-separated tables with explicit INNER JOIN for better readability and -- performance. -- 2. Introduced table aliases (C for CUSTOMER, O for ORDERS) to improve clarity. -- 3. Pushed all filters into the WHERE clause as early as possible to reduce data volume -- before the join. -- 4. Only necessary columns and tables are included, and no unnecessary grouping or ordering -- is performed. Result Set Rows: 321

A função Otimizar instrução SQL usando IA altera a consulta para um INNER JOIN para melhor desempenho, introduz aliases de tabela para melhor legibilidade e otimiza a cláusula WHERE. A instrução SQL otimizada é certamente mais legível, a melhoria da performance para este exemplo específico não foi enorme.

Exemplo: Otimizar o script de análise Delta Merge usando IA no console SQL

Como exemplo de SQL um pouco mais complicado para otimizar, escolho o script Delta Merge Analysis encontrado no SAP HANA Cloud Central - SQL Console - Statement Library. Na imagem, a opção Otimizar instrução SQL usando IA é usada para otimizar esse script SQL.

A imagem mostra um exemplo de como você pode otimizar o script Análise Delta Merge usando a instrução Optimize SQL usando a funcionalidade de IA no console SQL.

A tabela exibe o tempo médio de execução de 5 execuções antes e depois da otimização. Nos dois cenários, a primeira execução foi rejeitada dos resultados.

Antes da otimização

ExecuçãoTempo de execução (ms)Linha selecionada
12,54159
23,38559
32,50359
42,49359
52,69559
Média2,723 

Após a otimização

ExecuçãoTempo de execução (ms)Linha selecionada
12,13859
22,12259
32.4.8759
42,26659
52,17859
Média2,238 

O tempo de execução otimizado do script Delta Merge Analysis é 19,55% menor do que a versão não otimizada.

Resumo

Nesta lição, você aprendeu sobre a "Otimizar instrução SQL usando IA" disponível no SAP HANA Cloud Central - Console SQL. O uso da "Otimizar instrução SQL usando IA" pode melhorar o desempenho usando joins, introduz aliases de tabela para melhor legibilidade, otimiza a instrução SQL certificando-se de que a quantidade de dados selecionados foi reduzida filtrando por meio da cláusula WHERE o mais cedo possível.