Crash course on Better SQL Development

Slides:



Advertisements
Similar presentations
Aaron Bertrand SQL Sentry, Senior Kevin Kline SQL Sentry, Dir of Engineering
Advertisements

#sqlsatPordenone #sqlsat367 February 28, 2015 Testing your databases Alessandro
Tom Castiglia Hershey Technologies
I Copyright © 2004, Oracle. All rights reserved. Introduction Copyright © 2004, Oracle. All rights reserved.
© 2011 PLANET TECHNOLOGIES, INC. Using SPD and SQL Stored Procedures Patrick Curran, MCT AUGUST 12, 2011.
Learningcomputer.com SQL Server 2008 – Administration, Maintenance and Job Automation.
ADAPTING YOUR ETL SOLUTION TO USE SSIS 2012 Presentation by Devin Knight
Database Projects in Visual Studio Improving Reliability & Productivity.
Text TCS INTERNAL Oracle PL/SQL – Introduction. TCS INTERNAL PL SQL Introduction PLSQL means Procedural Language extension of SQL. PLSQL is a database.
Introduction to: SQL Server Reporting Services Architecture, Development & Delivery.
Scott Fallen Sales Engineer, SQL Sentry Blog: scottfallen.blogspot.com.
Developing SQL/Server database in Visual Studio Introducing SQL /Server Data Tools Peter Lu.Net Practices Director Principle Architect Nexient March 19.
Bret Stateham Owner, Net Connex blogs.netconnex.com
.Net Online Training. Introduction to.Net Microsoft.NET is a software Framework includes Framework class library and provides language interoperability.
MANAGEMENT DATA WAREHOUSE AND DATA COLLECTOR Ian Lanham.
SQL Database Management
Microsoft Connect /23/ :39 PM
Securing SQL Server Processes with Certificates
SQL 2016 R Services a.k.a. leveraging your local data lake
What Is The SSIS Catalog and Why Do I Care?
Hiding Data from Prying eyes: Using SQL Server 2016 Always Encrypted
Visual Studio Database Tools (aka SQL Server Data Tools)
SQL Server deployments
Crash course on Better SQL Development
SQL Server 2012 AlwaysOn and SQLSentry
Solving the Hard Problems
Automated and Repeatable Test Cases for SQL Server Development
Parameter Sniffing in SQL Server Stored Procedures
SQL Server 2016 Security Features
SQL Server Data Tools Gert Drapers
Query Execution Expectation-Reality Denis Reznik
Database Code Management with VS 2017 and RedGate
Marcos Freccia Stop everything! Top T-SQL tricks to a developer
Agenda Database Development – Best Practices Why Performance Matters ?
Getting Your DB Schema Under Control With SSDT
Advanced PL/SQL Programing
The Killing Cursors Cyndi Johnson
Intro to Unit Testing with tSQLt
dbatools - PowerShell and SQL Server Working Together
Batches, Transactions, & Errors
Visual Studio Database Tools (aka SQL Server Data Tools)
TEMPDB – INTERNALS AND USAGE
Tally Ho! -- Explore the Varied Uses of Tally Tables
Crash course on Better SQL Development
SQL Server Performance Tuning Nowadays
Crash course on Better SQL Development
T-SQL gotchas and power-ups
SSIS Deployment Smackdown!
SSIS Deployment Smackdown!
Stretch Database - Historical data storage in SQL Server 2016
Cyndi Johnson Senior Software Engineer at AdvancedMD Killing Cursors.
Batches, Transactions, & Errors
What about the Data Dude?
MATERI PL/SQL Procedures Functions Packages Database Triggers
Insight through Spatial Data
Crash course on Better SQL Development
Sharing Code across Platforms with Visual Studio 2015
Cyndi Johnson Senior Software Engineer at AdvancedMD Killing Cursors.
SQL Server Query Design and Optimization Recommendations
Michelle Haarhues Keeping up with SSMS.
Why should I care about SQL, if I have ORM?
Performance Tuning for SQL Developers through Execution Plans
Performance Tuning for SQL Developers through Execution Plans
Exploring the latest T-SQL enhancements
Exploring the latest T-SQL enhancements
PNW SQL Users Group August 10th, 2011
Performance Tuning for SQL Developers through Execution Plans
Performance Tuning for SQL Developers through Execution Plans
Performance Tuning for SQL Developers through Execution Plans
Performance Tuning for SQL Developers through Execution Plans
Presentation transcript:

Crash course on Better SQL Development Vladimir Oselsky Crash course on Better SQL Development

About the Speaker Vladimir Oselsky (Vlady) New Development Manager at Civica CMI @VladyOselsky (Twitter), voselsky (LinkedIn) https://dg-sql.blogspot.com/ Born and raised in Siberia (it does get cold, and sometimes hot) B.S. Software Engineering Technology (I know some .NET) Various IT Jobs since 1998. Starting in 2010 worked with SQL Server and Oracle.

Agenda Road to better development Understand platform Use the right tools Learn from other people and your own mistakes It depends! T-SQL code, DBCCCP CTE, Derived Tables, Table Variables, Temp Tables Stored Procedure design, single value vs set approach Cursor – not a Curse Error Handling Execution Plans Tools SSMS SentryOne Plan Explorer LINQPad

Road to better development Understanding platform What is available in SQL Server? Data types (Geography and Geometry) User-Defined Table Types CLR In-Memory programming Using right tools (what works best for you) SSMS vs Visual Studio vs LINQPad SSMS vs SQL Sentry Plan Explorer

T-SQL code CTE, Derived Tables, Table Variables, Temp Tables Scope Limitations Data Size Performance Overhead Stored Procedure design, single value vs set approach Using User Defined Types for passing set of values instead of single one Cursor – not a Curse Why not use default options http://sqlperformance.com/2012/09/t-sql-queries/cursor-options (Aaron Bertrand)

Tools SSDT https://msdn.microsoft.com/en-us/library/mt204009.aspx LINQPad 5 http://www.linqpad.net/download.aspx SentryOne Plan Explorer https://sentryone.com/plan-explorer #SQLHelp Use it for help from other people in industry Visual Studio Community Edition https://beta.visualstudio.com/visual-studio-community-vs/ SQL Server 2016 Developer Edition https://www.microsoft.com/en-us/cloud-platform/sql-server-editions-developers

Demo

Q&A Send questions to: vlady.oselsky@gmail.com Blog: https://dg-sql.blogspot.com/ Twitter: @VladyOselsky Thank you

Presentation has ended. Error code #01012017 If you like to know more, feel free to email questions to: Vlady.Oselsky@gmail.com NOTE: All communication sent to incorrect address will be ignored.