Every developer loves them and a lot of DBAs hate them. But there are many and valid reasons for creating generic SELECT, INSERT, UPDATE, and DELETE procedures. In this session, we’ll go through designing CRUD procedures that utilize new and existing SQL features to create CRUD procedures that are optimized for performance.
3. About Pragmatic Works
•
•
•
•
•
•
•
Industry leaders in Microsoft BI and SQL Server
Platform
SQL Server Professionals - PASS Board of Directors,
Speakers, Authors and MVP’s
National Sales Team Divided by Microsoft
Territories
National System Integrator (NSI)
Gold Certified in Business Intelligence and Data
Platform
Platform Modernization/Safe Passage
Premier Partner for PDW SI Partner Program
MS PDW Partner of Year FY13
Frontline Partnership Partner of the Year for Big Data
Executive sponsor - Andy Mouacdie, WW sales director
PDW
•
•
Over 7,200 customers worldwide
Over 186,000 people in PW database for demand
generation
MAKING BUSINESS INTELLIGENT
www.pragmaticworks.com
4. Session Goals
1. Describe the uses for CRUD procedures in
databases
2. Identify the common problems associated with
CRUD procedures
3. Demonstrate methods for writing performant
CRUD procedures
MAKING BUSINESS INTELLIGENT
www.pragmaticworks.com
6. Code Generation
• Many tools available:
– T-SQL Script
– Code Smith
– Entity Framework
– LINQ to SQL
– NHibernate
MAKING BUSINESS INTELLIGENT
www.pragmaticworks.com
7. CRUD Issues?
• Treat tables as objects
–
–
–
People?
Relationships?
Relationship Type?
• Overly generic
– All columns touched
– One procedure to rule them all
• Performance
– Set versus Singleton
– Index selection
MAKING BUSINESS INTELLIGENT
www.pragmaticworks.com
16. READ
• READ = SELECT
EXEC CRUD.FooSelect
@Column1 = NULL
,@Column2 = 2
SELECT Column1
,Column2
FROM dbo.Foo
WHERE (@Column1 IS NULL
OR Column1 = @Column1)
AND (@Column2 IS NULL
OR Column2 = @Column2)
Issues
• Index selectivity
MAKING BUSINESS INTELLIGENT
www.pragmaticworks.com
18. Summary
1. CRUD isn’t necessarily bad
2. Generic templates offer ability to tune and
extend data model behind the scenes.
3. Be cautious in choosing a template for CRUD
4. Know what SQL Server is doing
5. Leverage RECOMPILE as needed
MAKING BUSINESS INTELLIGENT
www.pragmaticworks.com
19. Learn More About Performance
MAKING BUSINESS INTELLIGENT
www.pragmaticworks.com
20. For more information…
Name: Jason Strate
Email: jstrate@pragmaticworks.com
Blog: www.jasonstrate.com
Products
BI products to covert to a Microsoft BI
platform and simplify development on
the platform.
Services
Speed development through training, and
rapid development services from
Pragmatic Works.
Foundation
Helping those who do not have the
means to get into information technology
achieve their dreams.