SQL语句解析类型---硬解析和软解析
一、Shared pool 作用:缓存SQL语句及SQL语句的执行计划SQL语句执行三步:解析(parse)------执行(exec)------获取数据(fetc
一、Shared pool 作用:缓存SQL语句及SQL语句的执行计划
SQL语句执行三步:解析(parse)------执行(exec)------获取数据(fetch)
shared pool的组成:
3块区域:free、librarycache、row cache(dictionary cache)
library cache:缓存SQL语句以及SQL语句的执行计划
dictionary cache:Oracle数据库自身的信息(数据库中有多少表、多少用户、表有多少列、列名是什么、列的数据类型、每个表多大)存放在dictionary中
数据字典举例:想知道数据库中有没有T1表
1、create table t1 as select * from dba_objects;
2、desc dba_tables; ---------------数据字典信息表
3、select table_name,owner from dba_tables where table_name like 'T1%’;
所有数据字典信息可在官方文档中查找booksàreferenceàdba_tables
1、查看librarycache大小
select * from v$sgastat a where a.NAME = 'library cache';
2、free空间大小
select * from v$sgastat a where a.pool = 'shared pool' anda.NAME = 'free memory';
3、row cache空间大小
select * from v$sgastat a where a.NAME = 'row cache';
二、解析:(hard parse,soft parse)
硬解析步骤:1、server process判断SQL语句语法是否有错误
2、查看SQL语句所涉及的对象是否存在(表是否存在等等)
3、执行SQL的用户对对象是否有相应权限(系统权限、对象权限)
4、生成执行计划--------一条SQL语句有多种执行方案,在N中执行方案中挑选出最优的一个最优的执行方案作为这条SQL执行计划--------最消耗资源
软解析:没有上述第四步,仅仅是常规判断
什么时候发生硬解析:
Server process 拿着SQL语句在librarycache中找,如果这条SQL语句在library cache中没有,,说明这条SQL语句和他的执行计划在library cache中没有-------硬解析
有--------软解析
无论hard parse还是soft parse,解析过程中用到很多数据库自身信息(权限信息、对象信息、对象统计信息------字典信息);即对SQL语句进行解析(软硬)的时候,都要频繁的访问数据字典信息----------所以row cache放在shared pool和library cache在一起
软硬解析的具体情况
select name,value from v$sysstat where name like 'parse%'

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Der EXPLAIN-Befehl in Oracle wird verwendet, um den Ausführungsplan einer SQL-Anweisung zu analysieren. Die Verwendungsmethode besteht darin, das Schlüsselwort EXPLAIN vor der SQL-Anweisung hinzuzufügen. EXPLAIN-Ergebnisse enthalten Informationen wie ID, Operatortyp, Schätzung der Zeilenanzahl, Kostenschätzung, Schätzung der Ausgabezeilenanzahl, Zugriffsprädikate und Filterprädikate, die zur Optimierung der Abfrageleistung, zur Identifizierung kostspieliger Operatoren und Tabellen verwendet werden können, die von der Optimierung profitieren können Techniken.

Zeichen in SQL werden in einfache Anführungszeichen gesetzt, z. B. „A“. Zeichenfolgen werden in doppelte Anführungszeichen gesetzt und Zeichen und Zeichenfolgen sind unterschiedliche Typen. In einfache Anführungszeichen eingeschlossene Zeichen werden unverändert gespeichert und in doppelte Anführungszeichen eingeschlossene Zeichenfolgen können Escape-Sequenzen enthalten. Das einfache Anführungszeichen selbst kann mit einer Escape-Sequenz wie „\“ gespeichert werden.

ThinkPhp6 -Datenbankabfrage: So verwenden Sie TP6 zum Implementieren von SQL -Anweisungen SelectSum (JIN), Summe (CHU) aus SYSDBUIL in ThinkPhp6 Framework, So verwenden Sie SQL -Anweisung Auswählen ...

So implementieren Sie die Produktlistensortierung durch Ziehen. Wenn wir uns mit der Sortierung von Front-End-Produktlisten befassen, stehen wir vor einem interessanten Bedarf: Benutzer tun dies, indem wir Produkte ziehen ...

Eine Ansicht in SQL ist eine virtuelle Tabelle, die durch Abfragen einer Basistabelle generiert wird und keine Daten speichert. Sie bietet die Vorteile der Datenabstraktion, Sicherheitskontrolle, Leistungsoptimierung und logischen Organisation. Ansichten werden über die CREATE VIEW-Anweisung erstellt und Vorgänge wie Abfragen, Aktualisieren und Löschen können verwendet werden, Aktualisierungen der Ansicht wirken sich jedoch auf deren Basistabelle aus. Die Hauptunterschiede zwischen Ansichten und Tabellen sind Datenspeicherung (virtuell vs. real), Leistung (Ansichten sind im Allgemeinen schneller), Aktualisierungsauswirkungen (Ansichten wirken sich auf Basistabellen aus, Tabellen nicht) und Flexibilität (Ansichten können Abfragen jederzeit ändern, während Tabellenschema schwer zu ändern).

Wie sortiere ich die Produktliste durch Ziehen? Wenn Sie sich mit E-Commerce-Plattformen oder ähnlichen Anwendungen befassen, müssen Sie häufig die Produktliste sortieren ...

Optimieren Sie den Datenbankbetrieb von Webanwendungen: Verbindungspooling: Datenbankverbindungen wiederverwenden und den Aufwand für das Erstellen und Zerstören von Verbindungen reduzieren. Vorkompilierte Abfragen: Vermeiden Sie die Neukompilierung von SQL-Anweisungen bei jeder Abfrage, wodurch die Abfrageeffizienz verbessert wird. Transaktion: Stellen Sie die ACID-Eigenschaften von Datenbankoperationen sicher, um Atomizität, Konsistenz, Isolation und Haltbarkeit zu erreichen.

Verwenden Sie Frühling ...
