Hints zijn Oracle-database functies die het mogelijk maken programmeurs om Oracle te vertellen dat ze al de beste uitvoering pad voor een SQL-query te leren kennen en informatie te verstrekken voor dat pad zodat Oracle zal het te verwerven . Hints zijn eenvoudig commando's die de optimizer vertellen om te doen wat het is verteld . Suggereert Hints Voorafgaand aan het eigenlijke werk om een query te beantwoorden , Oracle kijkt om zich heen en maakt een beslissing over wat het denkt dat de beste manier is om de query uit te voeren . Dit is de optimizer . Het bepaalt de meest efficiënte manier om een SQL- instructie uit te voeren gelet op vele trekken met betrekking tot de objecten waarnaar wordt verwezen en de omstandigheden die in de query . Zelfs als u uw applicatie te ontwerpen met behulp van intelligente vervaardigde code , zal je nog steeds vinden dat er zijn aanwijzingen die nodig zijn voor uitspraken voor de optimizer volgt de " optimale " uitvoering pad . Soms is de optimizer kan hulp nodig hebben als gevolg van defecten in zijn model of inheemse problemen bij het verzamelen , opslaan en verwerken van complexe data . Tips kunnen dwingen de optimizer om de beste uitvoering pad voor een query , ongeacht wat de leemte te voorzien . Toch moet erop wijst tips om de optimizer alleen wanneer dat absoluut noodzakelijk is worden geprobeerd en als je een ervaren ontwikkelaar . Hint Soorten Oracle heeft drie soorten hints . < br > Join HintThe join hint wordt gebruikt wanneer meer dan een tabel wordt gebruikt in een query . Deze hint dwingt het type join procedure die wordt gebruikt . Sluit zich aan kan worden gebruikt in SELECT , UPDATE en DELETE statements . De volgende toonaangevende hint suggereert toetreden bestellingen : /* + GROOTSTE ( [ @ queryblock ] tablespec [ tablespec ] ... ) * Query Hinta query- hint / wordt gebruikt wanneer specifieke logica heeft te functioneel een geheel query, in tegenstelling tot een deel ervan. Anderzijds is er geen manier om te bepalen welk deel van een query worden gebruikt met de hint . Een query heeft altijd de SELECT , UPDATE , DELETE , INSERT of MERGE statement . De volgende hint kan gebruikt worden met elk van hen : select /* + HINT * /namefrom empwhere id = 1 ; Tafel HintHints dat een tabel te specificeren meestal verwezen naar tabellen in de DELETE , SELECT , of UPDATE statement van een query waarin de hint optreedt , niet om tafels binnen alle standpunten overgebracht door de verklaring . De query optimizer kiest meestal de beste optimalisatie methode zonder hints te worden gespecificeerd . Echter , hoewel u een tabel hint in uw code opgeven , de query optimizer kan de hint te negeren . Tabel hints wordt genegeerd als de tafel niet door de query optimizer wordt gekozen en gebruikt in de daaropvolgende queryplan select /* + ALL_ROWS * /werknemers_id , achternaam , salaris , job_idfrom empwhere werknemers_id = 4689 ; . < Br >
|