Oracle
 sql >> база данни >  >> RDS >> Oracle

Хибернация на параметризирани sql заявки, бавни и активни сесии на oracle

Не знам дали това е вашият проблем, но Oracle надниква в стойностите на променливите за обвързване, когато анализира заявка и след това запазва плана на заявката за бъдещи изпълнения, така че не се налага да продължава да анализира заявката всеки път, когато се изпълнява с нова набор от свързващи променливи. Но от време на време заявката се анализира отново. Ако някои необичайни стойности на свързваща променлива се предават по време на анализ, тогава се съхранява и използва лош план. Това е нещо като проклятието на свързващите променливи. Те намаляват анализирането, но могат да обърнат плана на нетипични стойности на променливи за свързване, когато заявките се анализират отново. Съветите могат да помогнат. Ние използваме SQL профили, за да заключим планове на заявки със свързващи променливи, които са склонни да променят плановете. Понякога можете да персонализирате кога и как се събират статистическите данни на оптимизатора, така че да се създаде добър план, независимо какви стойности се предават в променливите за свързване.

Както и да е, това е нещо, което виждам през цялото време и може или не може да е вашият проблем.

Боби




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Внедряване на Cloudera CDP център за данни на Oracle Cloud Infrastructure (OCI)

  2. Oracle съхранява ли крайни нули за тип данни число?

  3. Сравняване на дати с помощта на Dynamic Action на DatePicker Oracle Apex

  4. oracle SQL плюс как да прекратя командата в SQL файл?

  5. Уникален ключ в Oracle с примери