A percentagem de análises completas de tabela realizadas no Servidor MySQL. As análises completas de tabela ocorrem quando o servidor verifica cada linha da tabela para a validade de uma condição. As análises completas de tabela podem ocorrer frequentemente em tabelas com um número reduzido de linhas. O limiar do monitor é comparado com a média dos valores devolvidos nas consultas ao agente e o número de amostras incluídas no cálculo da média é controlado pelo parâmetro Número de Amostras.
Um estado de funcionamento incorreto indica que a percentagem de análises completas de tabela é elevada. As análises completas de tabela podem ocorrer em tabelas com menos de 10 linhas ou com pequeno comprimento de linha. As análises completas de tabela também podem ocorrer ao comparar colunas indexadas com valores constantes.
Para resolver uma percentagem elevada de análises de tabela, experimente o seguinte:
Otimizar a consulta MySQL que esteja a executar análises completas de tabela
Utilizar o comando MySQL “ANALYZE TABLE tbl_name” para atualizar as distribuições de chaves
Utilizar a opção MySQL no comando "FORCE INDEX" para abdicar manualmente do otimizador MySQL para o índice fornecido
Alterar a variável "max_seeks_for_key" para um valor que reflita as pesquisas necessárias para obter dados.
Configuração Predefinida
Parâmetro | Valor Predefinido |
Limiar de Aviso | Maior que 80 |
Limiar de Erros | Maior que 95 |
Número de Amostras | 3 |
As substituições podem ser utilizadas para alterar os valores dos parâmetros acima definidos para todas as instâncias ou para instâncias específicas ou grupos.
Target | Microsoft.MySQLServer.ManagedServer.Unix | ||
Parent Monitor | Microsoft.MySQLServer.RowOperationsPerformanceRollup | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Oss.WSManEnumeration.GreaterThanThreshold.ThreeState.MonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.MySQLServer.ManagedServer.Unix.FullTableScanPct.Monitor" Accessibility="Public" Target="Microsoft.MySQLServer.ManagedServer.Unix" TypeID="Oss!Microsoft.Oss.WSManEnumeration.GreaterThanThreshold.ThreeState.MonitorType" Enabled="onStandardMonitoring" ParentMonitorID="Microsoft.MySQLServer.RowOperationsPerformanceRollup">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.MySQLServer.ManagedServer.Unix.FullTableScanPct.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Value$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState HealthState="Success" MonitorTypeStateID="StatusOK" ID="UnderThreshold"/>
<OperationalState HealthState="Warning" MonitorTypeStateID="StatusWarning" ID="OverWarningThreshold"/>
<OperationalState HealthState="Error" MonitorTypeStateID="StatusError" ID="OverErrorThreshold"/>
</OperationalStates>
<Configuration>
<Interval>300</Interval>
<TargetSystem>$Target/Host/Property[Type="Unix!Microsoft.Unix.Computer"]/NetworkName$</TargetSystem>
<Uri>http://schemas.microsoft.com/wbem/wscim/1/cim-schema/2/MySQL_ServerStatistics?__cimnamespace=root/mysql</Uri>
<WSManFilter/>
<ObjectName>MySQL Server</ObjectName>
<CounterName>Full Table Scan Pct</CounterName>
<InstanceXPath>/DataItem/WsManData/*[local-name(.)='MySQL_ServerStatistics']/*[local-name(.)='InstanceID']</InstanceXPath>
<InstanceName>$Target/Property[Type="Microsoft.MySQLServer.Installation"]/InstanceID$</InstanceName>
<Value>$Data/WsManData/*[local-name(.)='MySQL_ServerStatistics']/*[local-name(.)='FullTableScanPct']$</Value>
<WarningThreshold>80</WarningThreshold>
<ErrorThreshold>95</ErrorThreshold>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>