Comment Oracle détermine-t-il si un index n'est pas valide ?
Dans Oracle, vous pouvez utiliser l'instruction « select status from user_indexes which index_name='index name'; » pour déterminer si l'index est invalide ; si le résultat renvoyé est VALID, cela signifie que l'index n'est pas invalide, sinon il signifie que l'index n'est pas valide.
L'environnement d'exploitation de ce tutoriel : système Windows 10, version Oracle 11g, ordinateur Dell G3.
Comment Oracle détermine-t-il si l'index est invalide ?
La syntaxe est la suivante :
select status from user_indexes where index_name='索引名称';
Si le résultat renvoyé est VALIDE, cela signifie que l'index est valide !
L'exemple est présenté dans la figure :
Connaissances étendues :
Solution en cas d'échec d'indexation
1. Choisissez un optimiseur Oracle approprié
Il existe 3 types d'optimiseurs Oracle :
a RÈGLE. (Basé sur des règles) b. COÛT (basé sur les coûts) c.
Définissez l'optimiseur par défaut via diverses déclarations de paramètres OPTIMIZER_MODE dans le fichier init.ora, tels que RULE, COST, CHOOSE, ALL_ROWS, FIRST_ROWS. Bien sûr, vous le remplacez également au niveau de l'instruction SQL ou au niveau de la session.
Pour utiliser l'optimiseur basé sur les coûts (CBO, Cost-Based Optimizer), vous devez exécuter fréquemment la commande d'analyse pour augmenter la précision des statistiques d'objets dans la base de données.
Si le mode d'optimisation de la base de données est défini sur sélectif (CHOOSE), le mode d'optimisation réel sera lié à l'exécution ou non de la commande d'analyse. Si la table a été analysée, le mode optimiseur deviendra automatiquement CBO. Dans le cas contraire, la base de données utilisera la forme RULE de l'optimiseur.
(Table d'analyse
analyze table PROD_PARTS compute statistics; ANALYZE TABLE PROD_PARTS COMPUTE STATISTICS FOR ALL INDEXED COLUMNS; analyze table PROD_PARTS compute statistics for table for all indexes for all indexed columns;
) [Après un échec d'index, après avoir consulté le DBA, j'ai découvert qu'il s'agissait d'un problème de statistiques de données. La solution spécifique est d'exécuter l'instruction ci-dessus]
Par défaut, Oracle utilise CHOOSE. Afin d'éviter des analyses de table complètes inutiles, vous devez essayer d'éviter d'utiliser l'optimiseur CHOOSE et d'utiliser directement un optimiseur basé sur des règles ou basé sur les coûts.
2.Reconstruire l'index
alter index 索引名 rebuild 【online】
3. Forcer l'index
Après avoir ajouté un indice à l'instruction, forcez-la à utiliser 'RECORD_ENTITYID'. L'index
sql devient comme ceci
Quote
select /*+ index(record,record_entityid) */ * from RECORD where entityId='24' and entityType='blog';
/*+ index(. record,record_entityid) */, index signifie une utilisation forcée de l'index, record est le nom de la table et record_entityid est le nom de l'index. Le plan d'exécution est cohérent avec la base de données de test, tous deux utilisant l'index 'RECORD_ENTITYID', et la lecture et l'écriture logiques sont également de 4.
Après des tests ultérieurs, après avoir analysé la table et les deux index sans ajouter d'indices, l'index 'RECORD_ENTITYID' peut également être utilisé. Cependant, comme le tableau est mis à jour assez fréquemment, je ne sais pas combien de temps il faudra pour l'analyser à nouveau
Tutoriel recommandé : "Tutoriel vidéo Oracle"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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)

Sujets chauds



La durée de conservation des journaux de la base de données Oracle dépend du type de journal et de la configuration, notamment : Redo logs : déterminé par la taille maximale configurée avec le paramètre "LOG_ARCHIVE_DEST". Redo logs archivés : Déterminé par la taille maximale configurée par le paramètre "DB_RECOVERY_FILE_DEST_SIZE". Redo logs en ligne : non archivés, perdus au redémarrage de la base de données et la durée de conservation est cohérente avec la durée d'exécution de l'instance. Journal d'audit : Configuré par le paramètre "AUDIT_TRAIL", conservé 30 jours par défaut.

La séquence de démarrage de la base de données Oracle est la suivante : 1. Vérifiez les conditions préalables ; 2. Démarrez l'écouteur ; 3. Démarrez l'instance de base de données ; 4. Attendez que la base de données s'ouvre ; 6. Vérifiez l'état de la base de données ; . Activez le service (si nécessaire) ; 8. Testez la connexion.

La quantité de mémoire requise par Oracle dépend de la taille de la base de données, du niveau d'activité et du niveau de performances requis : pour le stockage des tampons de données, des tampons d'index, l'exécution d'instructions SQL et la gestion du cache du dictionnaire de données. Le montant exact dépend de la taille de la base de données, du niveau d'activité et du niveau de performances requis. Les meilleures pratiques incluent la définition de la taille SGA appropriée, le dimensionnement des composants SGA, l'utilisation d'AMM et la surveillance de l'utilisation de la mémoire.

Pour trouver le nombre d'occurrences d'un caractère dans Oracle, effectuez les étapes suivantes : Obtenez la longueur totale d'une chaîne ; Obtenez la longueur de la sous-chaîne dans laquelle un caractère apparaît. Comptez le nombre d'occurrences d'un caractère en soustrayant la longueur de la sous-chaîne ; de la longueur totale.

Exigences de configuration matérielle du serveur de base de données Oracle : Processeur : multicœur, avec une fréquence principale d'au moins 2,5 GHz Pour les grandes bases de données, 32 cœurs ou plus sont recommandés. Mémoire : au moins 8 Go pour les petites bases de données, 16 à 64 Go pour les tailles moyennes, jusqu'à 512 Go ou plus pour les grandes bases de données ou les charges de travail lourdes. Stockage : disques SSD ou NVMe, matrices RAID pour la redondance et les performances. Réseau : réseau haut débit (10GbE ou supérieur), carte réseau dédiée, réseau à faible latence. Autres : alimentation stable, composants redondants, système d'exploitation et logiciels compatibles, dissipation thermique et système de refroidissement.

Oracle peut lire les fichiers dbf en suivant les étapes suivantes : créer une table externe et référencer le fichier dbf ; interroger la table externe pour récupérer les données dans la table Oracle ;

La quantité de mémoire requise pour une base de données Oracle dépend de la taille de la base de données, du type de charge de travail et du nombre d'utilisateurs simultanés. Recommandations générales : petites bases de données : 16 à 32 Go, bases de données moyennes : 32 à 64 Go, grandes bases de données : 64 Go ou plus. D'autres facteurs à prendre en compte incluent la version de la base de données, les options d'optimisation de la mémoire, la virtualisation et les meilleures pratiques (surveiller l'utilisation de la mémoire, ajuster les allocations).

Pour créer une tâche planifiée dans Oracle qui s'exécute une fois par jour, vous devez effectuer les trois étapes suivantes : Créer une tâche. Ajoutez un sous-travail au travail et définissez son expression de planification sur "INTERVAL 1 DAY". Activez le travail.
