Perguntas da entrevista do SQL para o segundo turno

Perguntas da entrevista do SQL para o segundo turno

SQL interview questions and answer: Trivial execution plan
cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


Neste artigo, falaremos sobre perguntas e respostas da entrevista SQL que podem ser feitas na segunda rodada
    estágio técnico. Essas perguntas da entrevista são baseadas em experiências da vida real. Portanto, pode ser uma fonte muito útil ao se preparar para a segunda rodada de entrevistas técnicas do SQL.

Muitas empresas realizam uma entrevista técnica para avaliar o conhecimento dos candidatos. Na maioria das vezes, esse processo de recrutamento não completa apenas uma entrevista técnica. A primeira entrevista se concentra principalmente em suas capacidades e tenta descobrir se você atende às qualificações básicas necessárias para o trabalho. Após ser convidado para a segunda rodada de entrevistas técnicas, suas perguntas serão muito difíceis que a anterior.
    Por esse motivo, você deve preparar perguntas detalhadas para esta etapa. Neste artigo, você encontrará algumas instruções SQL
    perguntas da entrevista que possam ser solicitadas para o segundo estágio e respostas detalhadas.

1. Qual é a escalação de bloqueio?

Ao executar uma transação pelo SQL Server, o gerenciador de bloqueios deve bloquear objetos do banco de dados para garantir a consistência do banco de dados. No entanto, todo objeto bloqueado mantido pelo gerenciador de bloqueios consome 96 bytes de memória. Ao trabalhar com um grande número de linhas, essa circunstância pode exigir uma quantidade significativa de memória para bloquear as linhas. Para minimizar esse consumo de memória, o SQL Server usa um mecanismo chamado escalação de bloqueio. Quando os bloqueios de linha ou página excedem um limite, o mecanismo de escalonamento de bloqueios converte bloqueios de linha ou página nos bloqueios de tabela, reduzindo assim a quantidade de uso de memória.

Agora, criaremos uma tabela e inseriremos 10 mil linhas nessa tabela para ilustrar o mecanismo de trabalho da escalação de bloqueios no SQL Server.

Nesta segunda etapa, atualizaremos uma linha e examinaremos quais objetos estão bloqueados.

Leia Também  Introdução e exemplos da função SQL AVG ()

Perguntas e respostas da entrevista SQL para uma segunda entrevista.

O gerenciador de bloqueios coloca a intenção exclusiva (IX) bloqueia na página de dados e nas tabelas que contêm as linhas
    quando as linhas modificadas adquiriram bloqueios exclusivos. Hierarquia de bloqueio no SQL Server inicia no nível do banco de dados e segue
    até o nível da linha.

Banco de Dados -> Tabela -> Página -> Linha

Como podemos ver no exemplo, o banco de dados adquiriu um compartilhamento (S) e esse tipo de bloqueio
    indica que alguém usou esse banco de dados. A tabela (objeto) e a página adquiriram a intenção compartilhada (É)
    bloqueio porque a linha (chave) modificada adquiriu um exclusivo (X) bloqueio.

Agora aumentaremos o número de linhas que foram modificadas.

Mecanismo de trabalho de escalação de bloqueio.

Como resultado, quando aumentamos o número de linhas que serão modificadas, o mecanismo de escalonamento de bloqueios será
    acionado e a tabela adquirirá um bloqueio exclusivo. Esse mecanismo eliminará as linhas bloqueadas e aumentará o consumo de memória.

o limite de escalação de bloqueio tem pelo menos 5000 bloqueios, mas esse número pode ser alterado de acordo com
    vários fatores e não indica o número exato. O gerenciador de bloqueios considera alguns parâmetros como o
    número de linhas, tamanho da linha e a estrutura da tabela para determinar esse número.

2. Por que usamos as dicas de tabela no SQL Server e você pode dar um exemplo sobre isso?

Esta pergunta da entrevista SQL pode ser solicitada para testar seu conhecimento sobre as dicas de consulta. As dicas de tabela são usadas para
    altere o comportamento padrão dos parâmetros de trabalho padrão para que possamos lidar com os diferentes problemas. Para
    exemplo, TABLOCKX dica coloca um bloqueio exclusivo na tabela especificada até que a transação
    ser completado. Quando olhamos para o exemplo a seguir, o bloqueio exclusivo no nível da linha é o comportamento padrão, mas nós
    alterará esse tipo de bloqueio para o nível da tabela com o TABLOCKX dica.

Leia Também  Maus hábitos e práticas recomendadas - SQLBlog

Método de uso da dica TABLOCKX

Reduzir a simultaneidade da mesa é a principal desvantagem do TABLOCKX dica.

3. O que é um plano de execução trivial?

O SQL Query Optimizer não deseja lidar com a criação de planos de consulta otimizados para consultas simples, para evitar tempo e
    consumo de recursos. Por exemplo, o otimizador de consulta gerará um plano de execução trivial para os seguintes
    inquerir.

Podemos ver o tipo de plano de execução criado no Nível de otimização da instrução propriedade do
Selecione operador.

Plano de execução trivial

Para desativar a geração de planos de execução triviais, podemos usar o sinalizador de rastreamento 8757.

Desativando o plano de execução trivial

Quando desabilitamos a criação dos planos de execução triviais, o otimizador de consulta criou um CHEIO
otimizou o plano de consulta e decidiu que essa consulta requer um índice para que possa ser mais rápido.

4. O que é o modo de lote no recurso Rowstore?

Esta pergunta da entrevista SQL pode ser solicitada para testar seu conhecimento dos aprimoramentos das novas versões do servidor SQL.

Esse recurso foi introduzido na versão SQL Server 2019 e ajuda a acessar centenas de linhas em uma busca
    em vez de linha por linha, e é especialmente projetado para as operações de agregação e classificação. Agora vamos
    veja o plano de execução real da consulta a seguir.

Modo de lote no rowstore

Como podemos ver nas propriedades selecionadas do operador Modo de lote no armazenamento de linhas usado A propriedade é verdadeira. isto
    indica que alguns dos operadores no plano de execução executaram a execução do modo em lote no armazenamento de linhas.
    Agora, abriremos as propriedades do operador de verificação de índice em cluster.

Perguntas e respostas da entrevista SQL: Plano de execução trivial

O operador de varredura de índice em cluster acessou os dados usando o modo em lote no armazenamento de linhas.

Exemplo de Modo de Lote no Rowstore

5. Qual é a funcionalidade do XACT_ABORT?

Quando o XACT_ABORT está ativado, se alguma instrução SQL tiver um erro na transação, toda a transação será
    encerrado e revertido. Se desativarmos o XACT_ABORT, quando uma instrução retornar um erro, apenas a consulta com erro será revertida e outras consultas concluirão as operações.

Na consulta a seguir, habilitaremos o XACT_ABORT, e tentamos inserir uma linha duplicada, para que toda a transação seja revertida.

Ativar XACT_ABORT

Perguntas e respostas da entrevista SQL: Qual é a funcionalidade do XACT_ABORT

Vamos desativar XACT_ABORT na consulta a seguir, para que todas as instruções de inserção sejam executadas
    com sucesso, exceto um que gera um erro.

Desativar XACT_ABORT

Como desativar o XACT_ABORT?

Conclusão

Neste artigo, discutimos algumas perguntas da entrevista SQL que podem ser feitas na segunda rodada. Essas perguntas da entrevista da segunda rodada serão mais complicadas e difíceis. Esta rodada será mais desafiadora, pois incluirá mais perguntas técnicas do que perguntas tradicionais da entrevista.

Esat Erkec
Últimas mensagens de Esat Erkec (ver todos)

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br