Maison base de données tutoriel mysql PostgreSQL中列的statistics属性

PostgreSQL中列的statistics属性

Jun 07, 2016 pm 02:53 PM
postgresql 属性

PostgreSQL中列的statistics属性 这个属性大概来说是用来控制分析时对列的分析的详细程度,会影响到执行计划的选择,具体的描述可以看文档。pgsql默认所有列的statistics都是100,这是个相当保守的数字,即对列中不同值的分析是很粗糙的。在列值分布不均匀的


PostgreSQL中列的statistics属性

 

这个属性大概来说是用来控制分析时对列的分析的详细程度,会影响到执行计划的选择,具体的描述可以看文档。pgsql默认所有列的statistics都是100,这是个相当保守的数字,即对列中不同值的分析是很粗糙的。在列值分布不均匀的情况下,经常会看到执行计划用很粗略的平均值估算而选择了非最优的路径。  www.2cto.com  

 

通过调高这个参数,很多执行计划不正确的问题可以得到解决。特别是一些经常用到的查询列,提高默认参数很有必要。我感觉,提高到1000很有必要。按照官方文档,提高这个参数唯一的坏处是analyze时间会长一点。从实际情况来看,从100提高到1000基本感觉不到analyze时间有多少差别。

 

怎样才能知道某一列的statistics需要提高呢?最方便的就是用explain analyze了。如果发现执行计划里某个步骤执行结果的估算值(row)和实际获得值(actual)相差很悬殊,那么就很有必要提高这个参数了。怎么提高呢?

 

alter table [table name] alter column [column name] set statistics=1000;

 

提高完了记得重新analyze一下表。

 

还有一个需要注意的地方,有的地方是索引里的列值估算不准确(具体看执行计划),这时候需要调整索引里的列的statistics,方法和调整表一样,把索引当成表:

 

alter table [index name] alter column [column name] set statistics=1000;

 

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment obtenir des propriétés littérales entières en Python sans SyntaxError ? Comment obtenir des propriétés littérales entières en Python sans SyntaxError ? Aug 20, 2023 pm 07:13 PM

Pour obtenir un attribut littéral au lieu d'une erreur de syntaxe, utilisez un espace ou des parenthèses. Les littéraux entiers sont un partif des littéraux numériques en Python.

Comment renommer les propriétés de JSON en utilisant Gson en Java ? Comment renommer les propriétés de JSON en utilisant Gson en Java ? Aug 27, 2023 pm 02:01 PM

L'annotation Gson@SerializedName peut être sérialisée en JSON et avoir la valeur de nom fournie comme nom de champ. Cette annotation peut remplacer n'importe quelle FieldNamingPolicy, y compris la politique de dénomination de champ par défaut qui peut avoir été définie sur l'instance Gson. Différentes stratégies de dénomination peuvent être définies à l'aide de la classe GsonBuilder. Syntaxe@Retention(value=RUNTIME)@Target(value={FIELD,METHOD})public@interfaceSerializedNameExample importcom.google.gson.annotations.*;

Fonction dir() de Python : afficher les propriétés et les méthodes d'un objet Fonction dir() de Python : afficher les propriétés et les méthodes d'un objet Nov 18, 2023 pm 01:45 PM

Fonction dir() de Python : afficher les propriétés et les méthodes d'un objet, exemple de code spécifique requis Résumé : Python est un langage de programmation puissant et flexible, et ses fonctions et outils intégrés offrent aux développeurs de nombreuses fonctionnalités pratiques. L'une des fonctions très utiles est la fonction dir(), qui nous permet de visualiser les propriétés et les méthodes d'un objet. Cet article présentera l'utilisation de la fonction dir() et démontrera ses fonctions et utilisations à travers des exemples de code spécifiques. Texte : la fonction dir() de Python est une fonction intégrée.

MySQL et PostgreSQL : comparaison des performances et conseils d'optimisation MySQL et PostgreSQL : comparaison des performances et conseils d'optimisation Jul 13, 2023 pm 03:33 PM

MySQL et PostgreSQL : comparaison des performances et conseils d'optimisation Lors du développement d'applications Web, la base de données est un composant indispensable. Lors du choix d'un système de gestion de base de données, MySQL et PostgreSQL sont deux choix courants. Ce sont tous deux des systèmes de gestion de bases de données relationnelles (SGBDR) open source, mais il existe certaines différences en termes de performances et d'optimisation. Cet article comparera les performances de MySQL et PostgreSQL et fournira quelques conseils d'optimisation. Comparaison des performances comparant deux gestions de bases de données

MySQL et PostgreSQL : meilleures pratiques en matière de développement Web MySQL et PostgreSQL : meilleures pratiques en matière de développement Web Jul 14, 2023 pm 02:34 PM

MySQL et PostgreSQL : meilleures pratiques en matière de développement Web Introduction : dans le monde moderne du développement Web, les bases de données sont un composant essentiel. Lors du choix d'une base de données, les choix courants sont MySQL et PostgreSQL. Cet article couvrira les meilleures pratiques d'utilisation de MySQL et PostgreSQL dans le développement Web et fournira quelques exemples de code. 1. Scénarios applicables MySQL convient à la plupart des applications Web, en particulier celles qui nécessitent des performances élevées, une évolutivité et une facilité d'utilisation.

MySQL et PostgreSQL : stratégies de sécurité et de sauvegarde des données MySQL et PostgreSQL : stratégies de sécurité et de sauvegarde des données Jul 13, 2023 pm 03:31 PM

MySQL et PostgreSQL : sécurité des données et stratégies de sauvegarde Introduction : Dans la société moderne, les données sont devenues un élément indispensable de la vie professionnelle et personnelle. Pour les systèmes de gestion de bases de données, la sécurité des données et les stratégies de sauvegarde sont cruciales, à la fois pour protéger les données contre la perte ou l’endommagement et pour garantir la fiabilité et l’intégrité des données récupérées. Cet article se concentrera sur les stratégies de sécurité et de sauvegarde des données de deux systèmes de bases de données relationnelles grand public, MySQL et PostgreSQL. 1. Sécurité des données : (1) Droits des utilisateurs

Apprenez les fonctions de base de données en langage Go et implémentez les opérations d'ajout, de suppression, de modification et de requête des données PostgreSQL. Apprenez les fonctions de base de données en langage Go et implémentez les opérations d'ajout, de suppression, de modification et de requête des données PostgreSQL. Jul 31, 2023 pm 12:54 PM

Apprenez les fonctions de la base de données dans le langage Go et implémentez les opérations d'ajout, de suppression, de modification et d'interrogation des données PostgreSQL. Dans le développement de logiciels modernes, la base de données est un élément indispensable. En tant que langage de programmation puissant, le langage Go fournit une multitude de fonctions et de boîtes à outils d'exploitation de base de données, qui peuvent facilement mettre en œuvre des opérations d'ajout, de suppression, de modification et d'interrogation de la base de données. Cet article explique comment apprendre les fonctions de base de données en langage Go et utiliser la base de données PostgreSQL pour les opérations réelles. Étape 1 : Installez le pilote de base de données en langage Go pour chaque base de données

syntaxe de l'attribut inférieur en CSS syntaxe de l'attribut inférieur en CSS Feb 21, 2024 pm 03:30 PM

Syntaxe de l'attribut bottom et exemples de code en CSS En CSS, l'attribut bottom est utilisé pour spécifier la distance entre un élément et le bas du conteneur. Il contrôle la position d'un élément par rapport au bas de son élément parent. La syntaxe de l'attribut bottom est la suivante : element{bottom:value;} où element représente l'élément auquel le style doit être appliqué et value représente la valeur inférieure à définir. la valeur peut être une valeur de longueur spécifique, telle que des pixels

See all articles