Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 2
            [id] => 563555
            [titulo] => Otimização de consulta no banco
            [dataCadastro] => DateTime Object
                (
                    [date] => 2016-10-04 12:00:14
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 504732
            [status] => A
            [isExample] => -1
            [NomeUsuario] => Luiz Fernando de Lima Santos
            [Apelido] => 
            [Foto] => 504732_20160926002349.jpg
            [Conteudo] => Bom dia Calebe.
Primeiro passo para otimizar é tirar esse * (asterisco) dai.
Depois verificar a quantidade de registro de cada uma dessas tabelas.
Ver a real necessidade desse JOIN.
Por ultimo ver se tem a necessidade de criar um índice. (tem prós e contras)

No menu do SQL você tem uma opção chamada "Display Estimated Execution Plan".
Essa funcionalidade vai te ajudar a encontrar o gargalo na sua query.
Lembrando que quanto menor o Cost / Custo, melhor.

Grande abraço ) )

Otimização de consulta no banco

Calebe
   - 04 out 2016

Olá pessoal, estou com uma dúvida aqui, que estou precisando de ajuda para resolver. Acredito que em breve precisarei otimizar consultas no sql server, pois o banco contém muitos registros e me preocupo em acontecer lentidões excessivas nas consultas dos usuários. Segue um exemplo.

#Código

    SELECT * FROM USUARIOS U JOIN PERFIL P ON  U.ID_USUARIO = P.ID_USUARIO

Tem como otimizar esse select?

Post mais votado

Luiz Santos
|
MVP
Pontos: 780
    04 out 2016

Bom dia Calebe.
Primeiro passo para otimizar é tirar esse * (asterisco) dai.
Depois verificar a quantidade de registro de cada uma dessas tabelas.
Ver a real necessidade desse JOIN.
Por ultimo ver se tem a necessidade de criar um índice. (tem prós e contras)

No menu do SQL você tem uma opção chamada "Display Estimated Execution Plan".
Essa funcionalidade vai te ajudar a encontrar o gargalo na sua query.
Lembrando que quanto menor o Cost / Custo, melhor.

Grande abraço

João Antonio
|
MVP
Pontos: 120
    07 out 2016

Bom dia,

Para melhorar a sua query, primeiramente faz o que a Calebe falou, só que ao invés de rodar a Display Estimated Execution Plan, roda já INCLUDE ACTUAL EXECUTION (Ctrl + M).

A diferença das opções é que o Display Estimated Execution Plan é apenas estimativa, vai se basear nas suas estatística, caso ela estiver desatualizada não pode ser real o resultado, já o Actual é preciso rodar a query.

Para otimizar seu ambiente tem vários fatores segue alguns.

1 - Configuração da memoria da instancia;
2 - Configuração do Banco de dados;
3 - Configuração das bases padrões;
4 - Analise de Index;
5 - Query ruins;
6 - Sempre atualizar as estatística;
7 etc....

Calebe
   - 20 out 2016

Opaaa ajudaram muito essas otimizações que vocês citaram. Deu um pequena diferença, mas notável.

Não sei se tem como otimizar mais, mas já ajudou bastante!