sql >> Database >  >> RDS >> Oracle

Oracle-query is traag (of mislukt) van .NET-app, maar is snel van SQL Developer

Het had niets te maken met de ODP.NET-provider. Het probleem was dat de bibliotheek die we gebruiken om verbindingen voor ons te maken (die natuurlijk niet wordt gebruikt door Oracle SQL Developer, en die ik niet gebruikte toen ik de Microsoft-provider probeerde) altijd de volgende instructies uitvoerde voordat we iets deden:

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

Deze maken Oracle hoofdletterongevoelig. Maar ze maken ook alle conventionele indexen onbruikbaar. Omdat we query's uitvoerden vanuit een View, had deze een ingebouwde volgorde. En omdat we niet de eigenaar zijn van de database, kunnen we de indexen niet taalkundig maken om het prestatieprobleem op te lossen.

Het bieden van een manier om die uitspraken in dit (zeldzame) scenario niet uit te voeren, loste het probleem op.



  1. selecteer optie om de tweede geselecteerde optie bij te werken op basis van door mysql ingevulde vervolgkeuzelijsten

  2. 2 manieren om tekenreeksen en getallen samen te voegen in MariaDB

  3. tabel maken met select union heeft geen beperkingen

  4. SQLite DROP VIEW