sql >> Databasteknik >  >> RDS >> Oracle

Oracle-frågan är långsam (eller misslyckas) från .NET-appen men är snabb från SQL Developer

Det hade ingenting att göra med ODP.NET-leverantören. Problemet var att biblioteket vi använder för att skapa anslutningar åt oss (som naturligtvis inte används av Oracle SQL Developer, och som jag inte använde när jag provade Microsoft-leverantören) alltid körde följande satser innan jag gjorde något:

ALTER SESSION SET NLS_COMP = LINGUISTIC
ALTER SESSION SET NLS_SORT = BINARY_CI

Dessa gör Oracle skiftlägesokänslig. Men de gör också alla konventionella index värdelösa. Eftersom vi frågade från en vy hade den inbyggd ordning. Och eftersom vi inte äger databasen kan vi inte göra indexen språkliga för att åtgärda prestandaproblemet.

Att tillhandahålla ett sätt att inte köra dessa uttalanden i detta (sällsynta) scenario löste problemet.



  1. Skapar trigger i mysql för generation UUID

  2. hur kan jag skapa ett taggningssystem med php och mysql?

  3. Hur man konverterar UNIX TIME till SQL datetime-format

  4. Hur avbryter jag en lång fråga i kommandoradsverktyget mysql utan att avsluta mysql?