Maison base de données tutoriel mysql 举例一个比较好的表连接的执行计划

举例一个比较好的表连接的执行计划

Jun 07, 2016 pm 03:57 PM
l sql var 执行 比较 计划 连接

SQL var loc varchar2(30)SQL exec :loc:=South San FranciscoPL/SQL procedure successfully completed.SQL SELECT 2 emp.last_name,emp.first_name,j.job_title,d.department_name,l.city,l.state_province,l.postal_code,l.street_address, 3 emp.email,e

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

SQL> var loc varchar2(30)

SQL> exec :loc:='South San Francisco'

 

PL/SQL procedure successfully completed.

 

SQL> SELECT

  2  emp.last_name,emp.first_name,j.job_title,d.department_name,l.city,l.state_province,l.postal_code,l.street_address,

  3  emp.email,emp.phone_number,emp.hire_date,emp.salary,mgr.last_name

  4  from hr.employees emp,hr.employees mgr,hr.departments d,hr.locations

  5  l,hr.jobs j

  6  where l.city =:loc

  and emp.manager_id=mgr.employee_id

  and emp.department_id=d.department_id

  and d.location_id=l.location_id

 10  and emp.job_id=j.job_id;

--每次都是以嵌套循环来完成整个的查询流程,这就是一个最好的执行计划

45 rows selected.

 

 

Execution Plan

----------------------------------------------------------

Plan hash value: 4121168346

 

<span style="font-size:10px;">-----------------------------------------------------------------------------------------------------

| Id  | Operation                       | Name              | Rows  | Bytes | Cost (%CPU)| Time     |

-----------------------------------------------------------------------------------------------------

|   0 | SELECT STATEMENT                |                   |    15 |  2580 |     8   (0)| 00:00:01 |

|   1 |  NESTED LOOPS                   |                   |    15 |  2580 |     8   (0)| 00:00:01 |

|   2 |   NESTED LOOPS                  |                   |    15 |  2400 |     6   (0)| 00:00:01 |

|   3 |    NESTED LOOPS                 |                   |    15 |  1995 |     5   (0)| 00:00:01 |

|   4 |     NESTED LOOPS                |                   |     4 |   268 |     3   (0)| 00:00:01 |

|   5 |      TABLE ACCESS BY INDEX ROWID| LOCATIONS         |     1 |    48 |     2   (0)| 00:00:01 |

|*  6 |       INDEX RANGE SCAN          | LOC_CITY_IX       |     1 |       |     1   (0)| 00:00:01 |

|   7 |      TABLE ACCESS BY INDEX ROWID| DEPARTMENTS       |     4 |    76 |     1   (0)| 00:00:01 |

|*  8 |       INDEX RANGE SCAN          | DEPT_LOCATION_IX  |     4 |       |     0   (0)| 00:00:01 |

|   9 |     TABLE ACCESS BY INDEX ROWID | EMPLOYEES         |     4 |   264 |     1   (0)| 00:00:01 |

|* 10 |      INDEX RANGE SCAN           | EMP_DEPARTMENT_IX |    10 |       |     0   (0)| 00:00:01 |

|  11 |    TABLE ACCESS BY INDEX ROWID  | JOBS              |     1 |    27 |     1   (0)| 00:00:01 |

|* 12 |     INDEX UNIQUE SCAN           | JOB_ID_PK         |     1 |       |     0   (0)| 00:00:01 |

|  13 |   TABLE ACCESS BY INDEX ROWID   | EMPLOYEES         |     1 |    12 |     1   (0)| 00:00:01 |

|* 14 |    INDEX UNIQUE SCAN            | EMP_EMP_ID_PK     |     1 |       |     0   (0)| 00:00:01 |

-----------------------------------------------------------------------------------------------------</span>

 

Predicate Information (identified by operation id):

---------------------------------------------------

 

   6 - access("L"."CITY"=:LOC)

   8 - access("D"."LOCATION_ID"="L"."LOCATION_ID")

  10 - access("EMP"."DEPARTMENT_ID"="D"."DEPARTMENT_ID")

  12 - access("EMP"."JOB_ID"="J"."JOB_ID")

  14 - access("EMP"."MANAGER_ID"="MGR"."EMPLOYEE_ID")

 

 

Statistics

----------------------------------------------------------

       2035  recursive calls

          0  db block gets

        669  consistent gets

         19  physical reads

          0  redo size

       3923  bytes sent via SQL*Net to client

        407  bytes received via SQL*Net from client

          4  SQL*Net roundtrips to/from client

         24  sorts (memory)

          0  sorts (disk)

         45  rows processed

Copier après la connexion

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 activer la fonction nfc sur Xiaomi Mi 14 Pro ? Comment activer la fonction nfc sur Xiaomi Mi 14 Pro ? Mar 19, 2024 pm 02:28 PM

De nos jours, les performances et les fonctions des téléphones mobiles deviennent de plus en plus puissantes. Presque tous les téléphones mobiles sont équipés de fonctions NFC pratiques pour faciliter le paiement mobile et l'authentification de l'identité des utilisateurs. Cependant, certains utilisateurs de Xiaomi 14Pro ne savent peut-être pas comment activer la fonction NFC. Ensuite, permettez-moi de vous le présenter en détail. Comment activer la fonction nfc sur Xiaomi 14Pro ? Étape 1 : Ouvrez le menu des paramètres de votre téléphone. Étape 2 : Recherchez et cliquez sur l'option « Connecter et partager » ou « Sans fil et réseaux ». Étape 3 : Dans le menu Connexion et partage ou Sans fil et réseaux, recherchez et cliquez sur « NFC et paiements ». Étape 4 : Recherchez et cliquez sur « NFC Switch ». Généralement, la valeur par défaut est désactivée. Étape 5 : Sur la page du commutateur NFC, cliquez sur le bouton du commutateur pour l'activer.

Quelle est la différence entre HQL et SQL dans le framework Hibernate ? Quelle est la différence entre HQL et SQL dans le framework Hibernate ? Apr 17, 2024 pm 02:57 PM

HQL et SQL sont comparés dans le framework Hibernate : HQL (1. Syntaxe orientée objet, 2. Requêtes indépendantes de la base de données, 3. Sécurité des types), tandis que SQL exploite directement la base de données (1. Normes indépendantes de la base de données, 2. Exécutable complexe requêtes et manipulation de données).

Trois façons de réparer Edge : votre connexion n'est pas privée Trois façons de réparer Edge : votre connexion n'est pas privée Mar 13, 2024 pm 01:30 PM

Lorsque vous utilisez le navigateur Edge pour accéder à des pages Web, avez-vous déjà rencontré un message indiquant que votre connexion n'est pas une connexion dédiée, provoquant l'échec de la navigation sur le Web ? Comment ça se passe ? De nombreux amis ne savent pas comment résoudre ce problème. Vous pouvez consulter les trois solutions suivantes. Méthode 1 (simple et grossière) : Dans le navigateur Edge, vous pouvez essayer de résoudre le problème de l'inaccessibilité du site Web en entrant les paramètres et en désactivant la fonction de sécurité, puis en bloquant les autorisations de localisation dans les autorisations du site Web. Il est important de noter que l’efficacité et la durée de cette approche peuvent varier et que les effets spécifiques ne peuvent être déterminés. Après avoir redémarré votre navigateur, vous pouvez essayer de visiter le site Web pour voir si le problème est résolu. Méthode 2 : ajuster le clavier à la saisie en anglais

Comment utiliser TikTok sur Huawei Pocket2 à distance ? Comment utiliser TikTok sur Huawei Pocket2 à distance ? Mar 18, 2024 pm 03:00 PM

Faire glisser l'écran dans les airs est une fonctionnalité de Huawei très appréciée dans la série Huawei mate60. Cette fonctionnalité utilise le capteur laser du téléphone et la caméra de profondeur 3D de la caméra frontale pour compléter une série de fonctions qui ne nécessitent pas de fonction. fonction de toucher l'écran, comme faire glisser TikTok depuis les airs, mais comment utiliser le Huawei Pocket 2 pour faire glisser TikTok depuis les airs ? Comment faire des captures d'écran depuis les airs avec Huawei Pocket2 ? 1. Ouvrez les paramètres de Huawei Pocket2. 2. Sélectionnez ensuite [Accessibilité]. 3. Cliquez pour ouvrir [Perception intelligente]. 4. Activez simplement les commutateurs [Air Swipe Screen], [Air Screenshot] et [Air Press]. 5. Lorsque vous l'utilisez, vous devez le tenir à 20 ~ 40 cm de l'écran, ouvrir votre paume et attendre que l'icône de la paume apparaisse sur l'écran.

Comment définir l'espacement des lignes dans WPS Word pour rendre le document plus soigné Comment définir l'espacement des lignes dans WPS Word pour rendre le document plus soigné Mar 20, 2024 pm 04:30 PM

WPS est notre logiciel bureautique couramment utilisé lors de l'édition d'articles longs, les polices sont souvent trop petites pour être clairement visibles, c'est pourquoi les polices et l'ensemble du document sont ajustés. Par exemple : ajuster l'espacement des lignes du document rendra l'ensemble du document très clair. Je suggère à tous les amis d'apprendre cette étape de l'opération. Je la partagerai avec vous aujourd'hui. Les étapes de l'opération spécifiques sont les suivantes, venez jeter un oeil ! Ouvrez le fichier texte WPS que vous souhaitez ajuster, recherchez la barre d'outils de configuration des paragraphes dans le menu [Démarrer] et vous verrez la petite icône de configuration de l'espacement des lignes (représentée par un cercle rouge dans l'image). 2. Cliquez sur le petit triangle inversé dans le coin inférieur droit du paramètre d'espacement des lignes et la valeur d'espacement des lignes correspondante apparaîtra. Vous pouvez choisir 1 à 3 fois l'espacement des lignes (comme indiqué par la flèche sur la figure). 3. Ou cliquez avec le bouton droit sur le paragraphe et il apparaîtra.

Comment connecter la montre OnePlus au casque Bluetooth_Comment connecter la montre OnePlus au casque Bluetooth Comment connecter la montre OnePlus au casque Bluetooth_Comment connecter la montre OnePlus au casque Bluetooth Mar 23, 2024 pm 01:16 PM

1. Placez les écouteurs dans la boîte des écouteurs et maintenez le couvercle ouvert. Appuyez et maintenez enfoncé le bouton de la boîte pour entrer dans l'état d'appairage des écouteurs. 2. Activez la fonction regarder de la musique et sélectionnez les écouteurs Bluetooth, ou sélectionnez les écouteurs Bluetooth dans la fonction des paramètres de la montre. 3. Sélectionnez le casque sur la montre à associer avec succès.

TrendX Research Institute : analyse du projet Merlin Chain et inventaire écologique TrendX Research Institute : analyse du projet Merlin Chain et inventaire écologique Mar 24, 2024 am 09:01 AM

Selon les statistiques du 2 mars, la TVL totale du réseau de deuxième couche de Bitcoin, MerlinChain, a atteint 3 milliards de dollars. Parmi eux, les actifs écologiques Bitcoin représentaient 90,83 %, dont BTC d’une valeur de 1,596 milliard de dollars et les actifs BRC-20 d’une valeur de 404 millions de dollars. Le mois dernier, le TVL total de MerlinChain a atteint 1,97 milliard de dollars américains dans les 14 jours suivant le lancement des activités de jalonnement, dépassant Blast, qui a été lancé en novembre de l'année dernière et est également le plus récent et tout aussi accrocheur. Le 26 février, la valeur totale des NFT dans l'écosystème MerlinChain a dépassé 420 millions de dollars américains, devenant ainsi le projet de chaîne publique avec la valeur marchande NFT la plus élevée après Ethereum. Introduction du projet MerlinChain est un support OKX

La différence et analyse comparative entre le langage C et PHP La différence et analyse comparative entre le langage C et PHP Mar 20, 2024 am 08:54 AM

Différences et analyse comparative du langage C et de PHP Le langage C et PHP sont tous deux des langages de programmation courants, mais ils présentent des différences évidentes sur de nombreux aspects. Cet article procédera à une analyse comparative du langage C et de PHP et illustrera les différences entre eux à travers des exemples de code spécifiques. 1. Syntaxe et utilisation : Langage C : Le langage C est un langage de programmation orienté processus, principalement utilisé pour la programmation au niveau système et le développement embarqué. La syntaxe du langage C est relativement simple et de bas niveau, peut exploiter directement la mémoire, et est efficace et flexible. Le langage C met l'accent sur l'exhaustivité du programme pour le programmeur

See all articles