Oracle 12.1.0.2新特性 Approximate Count Distinct
[oracle@PD009 ~]$ grep -i approx_count oracle.strsettings for approx_count_distinct optimizationsqkaGBPushdown: estimated memory without GPD = groupSize (%.2f) * aclsum (%u) = %.2f; estimated memory with GPD = optHllEntry (%u) * # of appro
[oracle@PD009 ~]$ grep -i approx_count oracle.str settings for approx_count_distinct optimizations qkaGBPushdown: estimated memory without GPD = groupSize (%.2f) * aclsum (%u) = %.2f; estimated memory with GPD = optHllEntry (%u) * # of approx_count_distinct (%d) * parallelDegree (%.0f) = %.2f APPROX_COUNT_DISTINCT APPROX_COUNT_DISTINCT APPROX_COUNT_DISTINCT _approx_cnt_distinct_gby_pushdown = choose _approx_cnt_distinct_optimization = 0 alter system flush shared_pool; alter session set events '10053 trace name context forever ,level 1'; select count( distinct prod_id) from sales_history where amount_sold>1; select approx_count_distinct(prod_id) from sales_history where amount_sold>1; oradebug setmypid; oradebug tracefile_name; /s01/diag/rdbms/pdprod/PDPROD/trace/PDPROD_ora_4086.trc sql= select count( distinct prod_id) from sales_history where amount_sold>1 ----- Explain Plan Dump ----- ----- Plan Table ----- ============ Plan Table ============ ---------------------------------------------+-----------------------------------+ | Id | Operation | Name | Rows | Bytes | Cost | Time | ---------------------------------------------+-----------------------------------+ | 0 | SELECT STATEMENT | | | | 4912 | | | 1 | SORT AGGREGATE | | 1 | 13 | | | | 2 | VIEW | VW_DAG_0 | 72 | 936 | 4912 | 00:00:59 | | 3 | HASH GROUP BY | | 72 | 648 | 4912 | 00:00:59 | | 4 | TABLE ACCESS FULL | SALES_HISTORY| 3589K | 32M | 4820 | 00:00:58 | ---------------------------------------------+-----------------------------------+ sql= select approx_count_distinct(prod_id) from sales_history where amount_sold>1 ----- Explain Plan Dump ----- ----- Plan Table ----- ============ Plan Table ============ ----------------------------------------------+-----------------------------------+ | Id | Operation | Name | Rows | Bytes | Cost | Time | ----------------------------------------------+-----------------------------------+ | 0 | SELECT STATEMENT | | | | 4820 | | | 1 | SORT AGGREGATE APPROX | | 1 | 9 | | | | 2 | TABLE ACCESS FULL | SALES_HISTORY| 3589K | 32M | 4820 | 00:00:58 | ----------------------------------------------+-----------------------------------+ Predicate Information:
Related posts:
- Extract SQL Plan from AWR
- 部分行索引使用介绍
- Script:诊断解析等待和高version count
- 【11g新特性】SPM SQL PLAN MANAGEMENT执行计划管理流程图
- Number of distinct values (NDV) & synopsis & Histogram gather speed
- SQL调优:带函数的谓词导致CBO Cardinality计算误差
- 【11g新特性】Cardinality Feedback基数反馈
- 【Oracle CBO优化器】视图合并View Merging技术 _complex_view_merging & _simple_view_merging
- 海量数据插入性能测试
- 查询v$lock缓慢和direct path write temp等待
原文地址:Oracle 12.1.0.2新特性 Approximate Count Distinct, 感谢原作者分享。

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Pour interroger la taille de l'espace de table Oracle, suivez les étapes suivantes: Déterminez le nom de l'espace de table en exécutant la requête: sélectionnez Tablespace_name dans dba_tablespaces; Requête la taille de l'espace de table en exécutant la requête: sélectionnez SUM (Bytes) comme total_size, sum (bytes_free) comme disponible_space, sum (bytes) - sum (bytes_free) comme used_space à partir de dba_data_files où tablespace_

Oracle View Encryption vous permet de crypter les données dans la vue, améliorant ainsi la sécurité des informations sensibles. Les étapes incluent: 1) la création de la clé de cryptage maître (MEK); 2) Création d'une vue cryptée, spécifiant la vue et MEK à crypter; 3) Autoriser les utilisateurs à accéder à la vue cryptée. Comment fonctionnent les vues cryptées: lorsqu'un utilisateur interroge pour une vue cryptée, Oracle utilise MEK pour décrypter les données, garantissant que seuls les utilisateurs autorisés peuvent accéder aux données lisibles.

Il existe trois façons d'afficher les noms d'instance dans Oracle: utilisez le "SQLPlus" et "SELECT INSTRESS_NAME FROM V $ INSTERNE;" Commandes sur la ligne de commande. Utilisez "Show instance_name;" Commande dans SQL * Plus. Vérifiez les variables d'environnement (Oracle_sid sur Linux) via le gestionnaire de tâches du système d'exploitation, Oracle Enterprise Manager ou via le système d'exploitation.

Désinstaller la méthode pour la défaillance de l'installation d'Oracle: Fermez le service Oracle, supprimez les fichiers du programme Oracle et les clés de registre, désinstallez les variables d'environnement Oracle et redémarrez l'ordinateur. Si la désinstallation échoue, vous pouvez désinstaller manuellement à l'aide de l'outil Oracle Universal Disinstal.

Méthode d'importation de données: 1. Utilisez l'utilitaire SqlLoader: Préparez les fichiers de données, créez des fichiers de contrôle et exécutez SqlLoader; 2. Utilisez l'outil IMP / EXP: les données d'exportation, les données d'importation. Astuce: 1. Chargeur SQL * recommandé pour les ensembles de Big Data; 2. La table cible doit exister et la définition de la colonne correspond; 3. Après l'importation, l'intégrité des données doit être vérifiée.

Il existe les méthodes suivantes pour obtenir du temps dans Oracle: current_timestamp: renvoie le temps du système actuel, précis en secondes. Systimestamp: plus précis que current_timestamp, aux nanosecondes. Sysdate: renvoie la date du système actuelle, à l'exclusion de la partie d'heure. To_char (sysdate, 'yyy-mm-dd hh24: mi: ss'): convertit la date et l'heure du système actuels en format spécifique. Extrait: extrait une partie spécifique d'une valeur temporelle, comme un an, un mois ou une heure.

Pour créer un utilisateur dans Oracle, suivez ces étapes: créez un nouvel utilisateur à l'aide de l'instruction Créer des utilisateurs. Accorder les autorisations nécessaires en utilisant la déclaration de subvention. Facultatif: utilisez l'instruction RESSOURCE pour définir le quota. Configurez d'autres options telles que les rôles par défaut et les espaces de table temporaires.

Les instructions SQL peuvent être créées et exécutées en fonction de l'entrée d'exécution en utilisant Dynamic SQL d'Oracle. Les étapes comprennent: la préparation d'une variable de chaîne vide pour stocker des instructions SQL générées dynamiquement. Utilisez l'instruction EXECUTER IMMÉDIATE OU PRÉPEPART pour compiler et exécuter les instructions SQL dynamiques. Utilisez la variable Bind pour passer l'entrée utilisateur ou d'autres valeurs dynamiques à Dynamic SQL. Utilisez EXECUTER immédiat ou exécuter pour exécuter des instructions SQL dynamiques.
