Tips är Oracle Database funktioner som tillåter programmerare att berätta Oracle att de redan vet det bästa förloppet för en SQL-fråga och ge information om den vägen så att Oracle kommer att förvärva den . Tips är enkla kommandon som berättar optimeringsfunktionen att göra vad den blir tillsagd . Tyder Tips
Innan man startar det verkliga arbetet att svara på en fråga , ser Oracle runt och gör ett beslut om vad den anser är det bästa sättet att utföra frågan . Detta är den Optimizer. Den bestämmer det mest effektiva sättet att köra en SQL-sats efter att ha övervägt många egenskaper som har att de refererade objekten och de omständigheter som anges i frågan .
Även om du designar din ansökan med hjälp av intelligent utformad kod , hittar du fortfarande att det finns tips som behövs för uttalanden innan Optimizer följer den "optimala " förloppet . Ibland Optimizer kan behöva hjälp på grund av fel i sin modell eller inhemska problem vid insamling , lagring och bearbetning av komplexa data . Tips kan tvinga optimeringsfunktionen att göra det bästa förloppet för en fråga , oavsett vad bristen. Dock bör föreslå tips till optimeringsfunktionen prövas endast när det är absolut nödvändigt och om du är en erfaren utvecklare .
Tips Typer
Oracle har tre typer av tips .
Gå HintThe join antydan används när mer än en tabell används i en fråga. Denna antydan tvingar typen av koppling procedur som används . Fogar kan användas i SELECT , UPDATE och DELETE . Följande LEDANDE antydan föreslår gå order :
/* + LEDANDE ( [ @ queryblock ] tablespec [ tablespec ] ... ) är * /
Query Hinta query tips används när specifika logik måste vara funktionell för att en hel fråga, i motsats till en del av det. Å andra sidan , finns det inget sätt att avgöra vilken del av en fråga ska användas med tipset . En fråga har alltid SELECT , UPDATE , DELETE , INSERT eller sammanfoga uttalande . Följande tips kan användas med dem alla :
select /* + TIPS * /namefrom empwhere id = 1 ;
Tabell HintHints som anger en tabell brukar hänvisa till tabeller i DELETE , SELECT och UPDATE av en fråga i vilken ledtråd inträffar , inte tabeller inuti eventuella synpunkter förmedlas av uttalandet . Den Frågeoptimeraren plockar generellt den bästa optimering metod utan tips specificeras . Men även om du anger en tabell ledtråd i din kod , kan Frågeoptimeraren ignorera ledtråd . Tabell tips ignoreras om tabellen inte väljs av Frågeoptimeraren och används i efterföljande frågeplan
select /* + ALL_ROWS * /employee_id , efternamn, lön , job_idfrom empwhere employee_id = 4689 ; .
Addera