[SQL Server 2017] Novidades no In-Memory OLTP


O SQL Server 2017 traz uma série de melhorias para o In-Memory OLTP. Destaco algumas a seguir:

  • Não há mais limitação de 8 índices por tabela memory-optimized;
  • Suporte para colunas computadas;
  • CASE, TRIM, TRANSLATE, CONCAT_WS, TOP (N) WITH TIES, OPENJSON, FOR JSON, CROSS APPLY agora são suportados em procedures natively compiled;
  • SP_RENAME agora é suportado para tabelas memory-optimized e procedures natively compiled;
  • SP_SPACEUSED agora informa o espaço utilizado por uma tabela memory-optimized;
  • Os filegroups de tabelas in-memory agora podem ser armazenados no Azure.

Além disso, há melhorias no tempo de rebuild dos índices durante o processo de recovery (lembre-se que os índices das tabelas in-memory são recriados a cada restart do banco/instância).

Para ver mais novidades do SQL Server 2017, consulte o conteúdo deste link:

https://docs.microsoft.com/en-us/sql/database-engine/whats-new-in-sql-server-2017

 

Silas Mendes

 

============================

The code and techniques described in this blog are presented to the reader ‘as is’, without any warranty, whether express or implied, of its accuracy, completeness, fitness for a particular purpose, title or non-infringement, and none of the third-party products or information mentioned in the work are authored, recommended, supported or guaranteed by any of the authors or Microsoft. Further, the authors shall not be liable for any damages you may sustain by using this information, whether direct, indirect, special, incidental or consequential, even if it has been advised of the possibility of such damages. Your use of the information contained in these pages, is at your sole risk.

Comments (2)

  1. Fabio Ferreira says:

    Grande Silas!
    Brother, o que fazer com os aruqivos de checkpoint de tabela In-Memory que começam a crescer do nada?

    1. Silas Mendes says:

      Fala Fabio, tudo bom? Os dados das tabelas In-Memory OLTP não são armazenados nos arquivos de dados (mdf, ndf) eles são armazenados em arquivos diferentes que chamamos de Data e Delta Files (ou também chamados de CFPs). De forma bem resumida: nos arquivos “Data” ficam todas as inserções e nos “Delta” ficam todas as exclusões. Quanto mais dados inserirmos/modificamos nas tabelas In-Memory, maiores serão esses arquivos. Agora, imagine que você tem uma tabela In-Memory com 1 milhão de registros e você exclui todos os registros dela, nesse cenário o SQL Server pode fazer o MERGE para reduzir o tamanho dos arquivos Data e Delta; o MERGE é um processo de background que roda automaticamente, mas que até o SQL Server 2014 você pode invoca-lo através da procedure sys.sp_xtp_merge_checkpoint_files.

Skip to main content