Compiled Queries: LINQ-Abfragen mit Pegasus-Stiefeln © msg systems ag, August 20121 Gordon Breuer IT Consultant & Software Engineer Travel & Logistics.

Slides:



Advertisements
Ähnliche Präsentationen
Hydrotechnischer Rechenschieber zur Abflussberechnung
Advertisements

Einführung in das Urheberrecht
Wo bitte geht‘s zum Abitur?
Ein Praktikum sollte immer wertvoll sein
PL/SQL - Kurze Einführung -.
Maßnahmen gegen den Ticketzweitmarkt
Neue Mobilität Frank Prengel Developer Evangelist Developer Platform & Strategy Group Microsoft Deutschland GmbH
Änderungen allg. Programmfunktionen
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 3 Claudio Moraga, Gisbert Dittrich FBI Unido
Relationstechnik Dr. jur. Dipl.-Fin (FH) Evelyn Henning
Zeitplanung. Über uns Jens Schaller Blog: Tool:
Kleinprojektefonds Sachsen - Tschechien
Entwickeln einer Windows 8 Modern UI Businessapplikation auf der Basis von Dynamics CRM/xRM Christian Haller Marc Sallin isolutions AG isolutions.
Silverlight Eine Einführung. Agenda 1.Was ist Silverlight? 2.Die Silverlight Philosophie 3.Vorstellung des Szenarios 4.Einführendes Beispiel 5.Konzepte.
Präsentation Bachelorarbeit
Was ist Gemeinwesenarbeit?
VS one Veranstalter: VSone Feb. 08 Folie 1 Copyright by XML-Serialisierung zur Persistierung von Objekten Thomas Schissler
Google App Engine Microsoft Windows Azure
Veeam Backup & Replication v5 Usecase: Restore von Anwendungsobjekten ohne Zugriff auf die Infrastruktur Matthias Frühauf System Engineer Central Europe.
KLIPS 1.0 Stärken- und Schwächenanalyse Studiengang Informationsverarbeitung User Interfaces und ihre Evaluierung Bei Prof. Dr. Manfred Thaller Referat.
Mit 3 Schichte zum Erfolg
Laden und Feuern von Ionen und Oberflächen Dominik Göbl.
HORIZONT 1 XINFO ® Das IT - Informationssystem Java Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
© All rights reserved. Zend Technologies, Inc. Jan Burkl System Engineer, Zend Technologies Zend Server im Cluster.
Bergbaubedingter Stoffeintrag in Fließgewässer: Eisen und Sulfat
Betreuer: Sven Backhove
ORMapper: NHibernate Henning Eiben
Your name Bedeutung von Internet- Technologien Gruppe 1 Andreas Feuerstein Philipp Hochratner Christian Weinzinger.
IT Pro Day Entwicklung und Betrieb näher zusammen dank System Center 2012 und Team Foundation Server 2012 Hansjörg Scherer ALM Spezialist, Microsoft Schweiz.
Windows Azure Websites Roland Krummenacher Senior Software Engineer, bbv Software Services
Dariusz Parys Developer Evangelist Microsoft Deutschland GmbH.
Reiner Ganser Solution Architect 1stQuad Solutions GmbH Presentation Subtitle.
Dominick Baier Security Consultant thinktecture. 2 Wir unterstützen Software-Entwickler und Architekten bei der Realisierung von.NET- und Web Services-Projekten.
Dirk Primbs Developer Evangelist Microsoft Deutschland GmbH.
MVVM in Windows 8 und Windows Phone 8
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 2 ADO.NET s.a:
Uwe Habermann Venelina Jordanova Übernahme der Visual FoxPro Geschäftslogik.
Uwe Habermann Venelina Jordanova Professioneller Einstieg in eine neue Welt!
© Boardworks Ltd of 10 This icon indicates that the slide contains activities created in Flash. These activities are not editable. For more detailed.
Parallel Programming Thread Synchronization. Heute 1. Lösung zu Assignment 2 2. Erstellen und Starten von Threads in Java 3. Das synchronized Schlüsselwort.
Client Server Architektur
SS 2012 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #3 ER Modellierung.
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #7 SQL (Teil 4)
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
HORIZONT 1 XINFO ® Das IT - Informationssystem Assembler HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 /
HORIZONT 1 XINFO ® Das IT - Informationssystem Load Module HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 /
Comenius-Regio Albert-Einstein-Gymnasium Ulm
SharePoint FIS HandsOn – out of the Box.
Einführung in das Wissenschaftliche Arbeiten Andreas Hechenblaickner Programmiersprache Eiffel
Jan-Cornelius Molnar Student Partner.
Softwaresponsoren Mediasponsoren. Vorstellung KnowledgeCenter Neue Sprachfeautres in VB 9.0 LINQ to SQL in der Praxis.
Office Business Anwendungen mit SharePoint Fabian Moritz | MVP Office SharePoint Server.
© All rights reserved. Zend Technologies, Inc. Jenseits von var_dump(): Debugging in ZF Jan Burkl System Engineer.
FSR Grünbereich FSR-Grünbereich.
Forum analytica München, Johannes Kaindl
Mis Mami redet Portugiesisch, de Papi Italienisch – und ich? Workshop
Astronomische Gesellschaft Luzern Tag der Astronomie AGL Tag der Astronomie 2012.
Grundlagen zur individuellen Potenzialentwicklung –
Developer Day Deep Dive into WinRT-Controls: FlipView, ListView, GridView and SemanticZoom Thomas Claudius Huber Principal Consultant, Trivadis AG
Masterplan Einzelhandel für Bad Neuenahr-Ahrweiler
Labmed 2012.
Developer Day Entwicklung und Betrieb näher zusammen dank Team Foundation Server 2012 und System Center 2012 Hansjörg Scherer ALM Spezialist, Microsoft.
Von Annika Hieber und Jana Moog
Führen ohne Druck 01. März 2012 Vorstandsmitglied der Raiffeisenbank Ichenhausen: Ernst Kronawitter 1 Gemeinsames Mittagessen verbindet.
Cubido business solutions gmbh Haidfeldstrasse 33 A-4060 Leonding di(fh) Wolfgang Straßer ° Rundumblick.
C# LINQ Funktionen höherer Ordnung. Allgemein ● Language Integrated Query ● Verfahren von Microsoft zum Zugriff auf Daten ● Hauptentwickler Erik Meijer.
Datenbankanbindung in ASP
 Präsentation transkript:

Compiled Queries: LINQ-Abfragen mit Pegasus-Stiefeln © msg systems ag, August Gordon Breuer IT Consultant & Software Engineer Travel & Logistics

© msg systems ag, August Compiled Queries Das Problem Die Theorie Demo! Die Inhalte

© msg systems ag, August Wo / Wie entsteht das Problem

© msg systems ag, August LINQ λ (Lambda) Expression- Tree SQL Wo und wie entsteht der Performance-Engpass? IEnumerable linq = from customer in db.Customer where customer.LastName.StartsWith("B") select customer; IQueryable lambda = db.Customer.Where(customer => customer.LastName.StartsWith("B")); Expression > bedingung = s => s.LastName.StartsWith("B"); IQueryable lambda = db.Customer.Where(bedingung); SELECT * FROM Customer WHERE LastName = 'B%'

© msg systems ag, August LINQ λ (Lambda) Expression- Tree SQL Wo und wie entsteht der Performance-Engpass? IEnumerable linq = from customer in db.Customer where customer.LastName.StartsWith("B") select customer; IQueryable lambda = db.Customer.Where(customer => customer.LastName.StartsWith("B")); Expression > bedingung = s => s.LastName.StartsWith("B"); IQueryable lambda = db.Customer.Where(bedingung); SELECT * FROM Customer WHERE LastName = 'B%'

© msg systems ag, August Compiled Queries als Lösung

© msg systems ag, August Verfügbar seit.NET 3.5 Namensraum System.Data.Linq Statische Klasse CompiledQuery Compile ( Expression >) Compiled Queries

© msg systems ag, August Parameter = Objekt-Kontext für den Datenzugriff Letzter Parameter (n) = Rückgabewert 2. - (n-1). Parameter = Optionale Übergabeparameter In.NET 3.5 und Silverlight: Überladungen für bis zu drei Übergabeparameter In.NET 4.0+: Überladungen für bis zu 15 Übergabeparameter Sollten mehr gebraucht werden: Helferklasse Compiled Queries

© msg systems ag, August Aufruf in instanziierten Klassen? Statischer Kontext! Instanzen vs. Statische Klassen

© msg systems ag, August Deutlicher Geschwindigkeitszuwachs bei oft aufgerufenen Abfragen Anfänglicher Overhead wirkt sich bei wenigen Aufrufen negativ auf die Performance aus. Höherer Speicherverbrauch durch Zwischenspeichern der Funktionen. Schlechtere Lesbarkeit des Quellcodes. Die Vorteile Die Nachteile Die Vor- und Nachteile im Überblick

© msg systems ag, August Alle Compiled Queries in einer eigenen statischen Klasse sammeln Es muss immer der gleiche Data- Kontext verwendet werden Das zurückgegebene one-time Enumerable in eine Liste umwandeln Tipps zur Verwendung

© msg systems ag, August Demos in Visual Studio

Vielen Dank für Ihre Aufmerksamkeit © msg systems ag, Mai Gordon Breuer IT Consultant // Software Engineer Telefon: Facebook: Blog: msg systems ag Robert-Bürkle-Straße Ismaning/München Telefon: Fax: eure