Direct Query-skriptvariabler
Du kan använda skriptvariabler för att beskriva och manipulera den interna strukturen i en Direct Query- app.
Använd listrutan för att visa en kort beskrivning samt syntaxen för variabeln.
Med den här variabeln kan en app ange vid vilken ålder en cachelagrad fråga kommer att anses som inaktuell.
Åldern räknas från när resultatet cachelagrades första gången. Om ett cachelagrat resultat är äldre än eller lika med n sekunder betraktas det som inaktuellt och används inte som cachelagrat resultat för en matchande sökning. Den aktuella sökningen utförs i stället som om det cachelagrade resultatet inte finns.
När frågan körs igen kan det nya resultatet komma att cachelagras, beroende på det aktuella tillståndet för cachen och minnet. Om det cachelagrats börjar det åldras tills dess det blir inaktuellt igen vid n sekunder.
Standardvärdet för den här variabeln är 30. Detta innebär att det cachelagrade resultatet på frågan betraktas som inaktuellt igen efter 30 sekunder.
Värde | Beskrivning |
---|---|
-1 |
Den här inställningen innebär att cacheminnet behålls under den tid användaren är inloggad. |
0 |
Cachelagring inaktiveras helt. |
1-9,223,372,036,854,775,807 | Ställer in den ålder då det cachelagrade resultatet blir inaktuellt i sekunder. |
> 9,223,372,036,854,775,807 | Samma som att sätta variabeln till 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 fler än n rader, även om en obegränsad SQL-fråga för diagrammets innehåll skulle resultera i fler än n rader.
Skriptet DirectQueryRowFetchMaxCount är en variabel som gör det möjligt att öka eller begränsa antalet rader som visas i ett tabelldiagram eller att begränsa antalet resultat som visas i ett diagram med spridningsdiagram till mindre än standardvärdet 2500.
Därutöver har DirectQueryRowFetchMaxCount följande överväganden:
-
Standardvärdet för DirectQueryRowFetchMaxCount är -1 (vilket innebär att det inte används).
-
Om du ställer in skriptvariabeln DirectQueryRowFetchMaxCount till ett specifikt värde som är större än 0 kan en fråga som fyller i ett diagram hämta upp till DirectQueryRowFetchMaxCount rader från databasen – upp till de maximala värden som visas i tabellen nedan.
-
Om DirectQueryRowFetchMaxCount har konfigurerats till att vara mellan 0 och 2500, kommer värdet DirectQueryRowFetchMaxCount också att användas för att begränsa antalet datarader som hämtas för att fylla i ett diagram med spridningsdiagram.
-
För att upphäva effekterna av skriptvariabeln DirectQueryRowFetchMaxCount kan variabeln antingen vara odefinierad eller uttryckligen sättas till ett värde på -1.
Värde | Beskrivning |
---|---|
0 |
Ett värde på 0 är ett specialvärde som endast påverkar hämtning av rader i tabelldiagram. Den här inställningen paginerar dynamiskt över alla tillämpliga rader (som påverkas av val) för att fylla i ett diagram med tabeller. Det maximala antalet rader totalt för pagineringen fastställs genom att en inledande räknefråga utförs för att fastställa hur många rader totalt som fjärrdatabasen kommer att returnera för tabellens fyllningsfråga. Om variabeln sätts till 0 kommer alla andra diagram som stöds av Direct Query (utom tabeller och spridningsdiagram) att hämta sitt standardmässiga, klientspecifika maximala antal rader. Spridningsdiagram kommer att hämta sitt standardmaximum på 2500 rader. Anteckning om informationEftersom detta innebär att två frågor ställs för varje laddning eller urval i stället för en kan det bli dyrare avseende databasprestanda och kostnader.
|
1-100 000 | Ställer in det maximala antalet rader som ska hämtas för en tabelle eller ett spridningsdiagram från fjärrdatabasen. Observera att ett spridningsdiagram aldrig kommer att hämta mer än 2500 rader att visa. |
> 100 000 | Det är samma effekt som att sätta variabeln till 0. |
DirectQueryRowFetchMaxCount=n;