Direct Query skriptvariabler
Du kan använda skriptvariabler för att beskriva och manipulera den interna strukturen i en Direct Query-applikation.
Använd rullgardinsmenyn för att se en kort beskrivning och syntaxen för varje variabel.
Den här variabeln gör det möjligt för en applikation att ange vid vilken ålder ett cachelagrat frågeresultat ska anses vara inaktuellt.
Åldern definieras från när resultatet först cachelagrades. Om åldern på ett cachelagrat resultat är större än eller lika med n sekunder anses det vara inaktuellt och används inte som ett cachelagrat resultat för en matchande fråga. I stället kommer den aktuella frågan att köras som om inget cachelagrat resultat fanns.
När frågan körs igen kan dess nya resultat cachelagras, beroende på aktuellt cache- och minnestillstånd. Om det cachelagras börjar det åldras igen tills det blir inaktuellt vid n sekunder.
Standardvärdet för den här variabeln är 30. Det innebär att det cachelagrade frågeresultatet anses vara inaktuellt efter 30 sekunder.
| Värde | Beskrivning |
|---|---|
| -1 |
Den här inställningen innebär att cachen behålls under den tid användaren är inloggad. |
| 0 |
Cachelagring är helt inaktiverad. |
| 1-9,223,372,036,854,775,807 | Anger åldern för när det cachelagrade resultatet blir inaktuellt i sekunder. |
| > 9,223,372,036,854,775,807 | Samma som att ställa in variabeln på 30. |
DirectQueryResultCacheExpirySeconds=n;
Standardvärdet för det maximala antalet rader som hämtas för de flesta diagram med Direct Query styrs av klientfrågan och kan variera från 256 till 1000. Undantaget är spridningsdiagram, där standardmaximum är fastställt till 2500. Detta innebär att vissa diagram som stöds av Direct Query inte kommer att visa mer än n radresultat, även om en obegränsad SQL-fråga för diagrammets innehåll skulle resultera i mer än n rader.
Skriptvariabeln DirectQueryRowFetchMaxCount finns för att tillåta en ökning eller begränsning av de maximala raderna som ska visas i ett tabelldiagram, eller för att begränsa de maximala resultaten som visas i ett spridningsdiagram till mindre än standardmaximum på 2500.
Dessutom har DirectQueryRowFetchMaxCount följande överväganden:
-
Standardvärdet för DirectQueryRowFetchMaxCount är -1 (vilket innebär att det inte används).
-
Genom att ställa in skriptvariabeln DirectQueryRowFetchMaxCount på ett specifikt värde som är större än 0 kan en fråga som fyller i ett tabelldiagram hämta upp till DirectQueryRowFetchMaxCount rader från databasen – upp till de maximala värdena som visas i tabellen nedan.
-
Om DirectQueryRowFetchMaxCount är konfigurerat till att vara mellan 0 och 2500, kommer värdet för DirectQueryRowFetchMaxCount också att användas för att begränsa de maximala dataraderna som hämtas för att fylla i ett spridningsdiagram.
-
För att ångra effekterna av skriptvariabeln DirectQueryRowFetchMaxCount kan variabeln antingen vara odefinierad eller uttryckligen ställas in på ett värde av -1.
| Värde | Beskrivning |
|---|---|
| 0 |
Ett värde på 0 är ett specialvärde som endast påverkar radhämtning för tabelldiagram. Den här inställningen paginerar dynamiskt över alla tillämpliga rader (som påverkas av urval) för att fylla i ett tabelldiagram. Att fastställa det maximala antalet rader totalt för pagineringen görs genom att utföra en inledande räknefråga för att fastställa hur många rader totalt fjärrdatabasen kommer att returnera för tabellens ifyllningsfråga. Om du ställer in den här variabeln på 0 kommer alla andra Direct Query-diagram som stöds (förutom tabeller och spridningsdiagram) att hämta sitt klientspecificerade maximala standardantal rader. Spridningsdiagram kommer att hämta sitt standardmaximum på 2500 rader. Anteckning om informationEftersom detta utför två frågor för varje laddning eller urval i stället för en, kan det bli dyrare när det gäller databasprestanda och kostnader.
|
| 1-100,000 | Anger det maximala antalet rader som ska hämtas för en tabell eller ett spridningsdiagram från fjärrdatabasen. Observera att ett spridningsdiagram aldrig kommer att hämta mer än 2500 rader att visa. |
| > 100,000 | Samma effekt som att ställa in variabeln på 0. |
DirectQueryRowFetchMaxCount=n;