ORACLE SQL性能优化系列(一)_PHP教程
1. 选用适合的ORACLE优化器
ORACLE的优化器共有3种:
a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性)
设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖.
为了使用基于成本的优化器(CBO, Cost-Based Optimizer) , 你必须经常运行analyze 命令,以增加数据库中的对象统计信息(object statistics)的准确性.
如果数据库的优化器模式设置为选择性(CHOOSE),那么实际的优化器模式将和是否运行过analyze命令有关. 如果table已经被analyze过, 优化器模式将自动成为CBO , 反之,数据库将采用RULE形式的优化器.
在缺省情况下,ORACLE采用CHOOSE优化器, 为了避免那些不必要的全表扫描(full table scan) , 你必须尽量避免使用CHOOSE优化器,而直接采用基于规则或者基于成本的优化器.
2. 访问Table的方式
ORACLE 采用两种访问表中记录的方式:
a. 全表扫描
全表扫描就是顺序地访问表中每条记录. ORACLE采用一次读入多个数据块(database block)的方式优化全表扫描.
b. 通过ROWID访问表
你可以采用基于ROWID的访问方式情况,提高访问表的效率, , ROWID包含了表中记录的物理位置信息..ORACLE采用索引(INDEX)实现了数据和存放数据的物理位置(ROWID)之间的联系. 通常索引提供了快速访问ROWID的方法,因此那些基于索引列的查询就可以得到性能上的提高.

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)

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.

La méthode pour résoudre le problème de fermeture du curseur Oracle comprend: la fermeture explicite du curseur à l'aide de l'instruction Close. Déclarez le curseur dans la clause de mise à jour pour la fermeture automatiquement après la fin de la portée. Déclarez le curseur dans la clause d'utilisation afin qu'il se ferme automatiquement lorsque la variable PL / SQL associée est fermée. Utilisez la gestion des exceptions pour vous assurer que le curseur est fermé dans toute situation d'exception. Utilisez le pool de connexion pour fermer automatiquement le curseur. Désactiver la soumission automatique et le délai de fermeture du curseur.

Dans Oracle, la boucle pour la boucle pour créer des curseurs dynamiquement. Les étapes sont: 1. Définissez le type de curseur; 2. Créez la boucle; 3. Créez le curseur dynamiquement; 4. Exécuter le curseur; 5. Fermez le curseur. Exemple: un curseur peut être créé de cycle par circuit pour afficher les noms et salaires des 10 meilleurs employés.

Les solutions à Oracle ne peuvent pas être ouvertes comprennent: 1. Démarrer le service de base de données; 2. Commencez l'auditeur; 3. Vérifiez les conflits portuaires; 4. Définir correctement les variables d'environnement; 5. Assurez-vous que le pare-feu ou le logiciel antivirus ne bloque pas la connexion; 6. Vérifiez si le serveur est fermé; 7. Utilisez RMAN pour récupérer les fichiers corrompus; 8. Vérifiez si le nom du service TNS est correct; 9. Vérifier la connexion réseau; 10. Réinstaller le logiciel Oracle.

La pagination de la base de données Oracle utilise des pseudo-colonnes Rownum ou des instructions de récupération pour implémenter: les pseudo-colonnes Rownum sont utilisées pour filtrer les résultats par les numéros de ligne et conviennent aux requêtes complexes. L'instruction Fetch est utilisée pour obtenir le nombre spécifié de premières lignes et convient aux requêtes simples.

Un rapport AWR est un rapport qui affiche les performances de la base de données et les instantanés d'activité. Les étapes d'interprétation comprennent: l'identification de la date et de l'heure de l'instantané d'activité. Consultez un aperçu des activités et de la consommation de ressources. Analyser les activités de session pour trouver des types de session, la consommation de ressources et les événements d'attente. Trouvez des goulots d'étranglement potentiels de performance tels que des instructions SQL lentes, des problèmes de ressources et des problèmes d'E / S. Affichez les événements d'attente, identifiez-les et résolvez-les pour les performances. Analyser les modèles d'utilisation des verrous et de la mémoire pour identifier les problèmes de mémoire qui causent des problèmes de performances.

Les déclencheurs d'Oracle sont des procédures stockées utilisées pour effectuer automatiquement des opérations après un événement spécifique (insérer, mettre à jour ou supprimer). Ils sont utilisés dans une variété de scénarios, notamment la vérification des données, l'audit et la maintenance des données. Lors de la création d'un déclencheur, vous devez spécifier le nom de déclenchement, la table d'association, l'événement de déclenchement et le temps de déclenchement. Il existe deux types de déclencheurs: le déclencheur avant est tiré avant l'opération, et le déclencheur après est tiré après l'opération. Par exemple, le déclencheur avant l'insertion garantit que la colonne d'âge de la ligne insérée n'est pas négative.

Oracle Bragled Les problèmes peuvent être résolus en vérifiant le jeu de caractères de la base de données pour s'assurer qu'ils correspondent aux données. Définissez le jeu de caractères client pour correspondre à la base de données. Convertir les données ou modifier les jeux de caractères de colonne pour faire correspondre les jeux de caractères de base de données. Utilisez des jeux de caractères Unicode et évitez les jeux de caractères mulabyte. Vérifiez que les paramètres de langue de la base de données et du client sont corrects.
