Kiszámítása kumulált adatok alapján kért az adatbázisból
A generált jelentések adatai alapján az adatbázisban tárolt, néha kell számítani halmozott összege. A mi esetünkben ez a különbség száz százalékos, és az összege az oszlop értékeinek százalékos az összes sort fölött helyezkedik el ezt. Kumulatív összes az első sort a rendezett halmaz egyenlő 100%.
Vannak különböző módon lehet kiszámítani az értékek összege az előző sor. Vannak azonban fontos technikák jelentések készítéséhez, adatbázis, annak változata.
1. Ajánlat OVER + SOR
A mi esetünkben, hogy támogassa a funkcionalitás a régi projekt egy korábbi verzióját MS SQL Server, akkor kell fordulni más számítási lehetőségeket. Az egyik ilyen lehetőség a használata korrelációban al-lekérdezések.
2. korrelált segédlekérdezés
Korrelált segédlekérdezés - segédlekérdezésként, amely tartalmaz egy linket oszlopok álló kérelmét (master). Így a korrelált allekérdezés végrehajtjuk minden egyes sorban a fő lekérdezés, mint a lekérdezés fő oszlop értékek változnak.
A tényleges lekérdezés, amellyel foglalkozunk sokkal térfogata, mint a példa mutatja: a százalékokat nem tároljuk az adatbázisban, akkor először meg kell számítani azokat a leszámolt hallgatók száma. Segítségével korrelált subqueries túl bonyolulttá meglévő kódot, és drasztikusan csökkenti a teljesítményt a lekérdezést az adatbázisnak.
3. Az SQL CLR technológia
A mi esetünkben, akkor közeledünk a lehetőségét CLR-funkciók. SQL CLR technológia lehetővé teszi számunkra, hogy bővül a SQL Server segítségével C #. Az SQL Server, akkor létrehozhat egy függvényt, amely úgy van programozva, az összeállítás létre a közepes CLR Microsoft .NET Framework platform.
A statikus C # CLR-módszer egység a bázis, akkor kap egy változó eredménye típusú Generic.List kért sor. Mielőtt visszatér lekérdezési adatokat megjeleníteni, végigjárjuk az összes sort a lista, és várom azokat a kamat összege a korábbi vonalak segítségével LINQ to SQL eszközök:
Az SQL CLR is létrehozhatnak írva nagy nyelv a tárolt eljárások, triggerek, a felhasználó által definiált típusokat és funkciókat, valamint a sóder. Ez lehetővé teszi, hogy komolyan javítja a teljesítményt és új funkciókat a szerver elképzelhetetlen határokat.