Presentation is loading. Please wait.

Presentation is loading. Please wait.

Made in USA Software Development Services Ayoka, L.L.C. 202 E. Border Street, Ste 334 Arlington, TX 76010 817.210.4042 www.ayokasystems.com By Steve Chang.

Similar presentations


Presentation on theme: "Made in USA Software Development Services Ayoka, L.L.C. 202 E. Border Street, Ste 334 Arlington, TX 76010 817.210.4042 www.ayokasystems.com By Steve Chang."— Presentation transcript:

1 Made in USA Software Development Services Ayoka, L.L.C. 202 E. Border Street, Ste 334 Arlington, TX 76010 817.210.4042 www.ayokasystems.com By Steve Chang SQL Server Best Practices

2 Made in USA Software Development Services Local temporary table On disk, in tempdb Visible only to the current scope (like a stored procedure) Global temporary table On disk, in tempdb Visible to all sessions Temporary Tables

3 Made in USA Software Development Services CREATE TABLE #people ( id INT, name VARCHAR(32) ) SELECT id, name INTO #people FROM employees DROP TABLE #people Local Temporary Table

4 Made in USA Software Development Services CREATE TABLE ##people ( id INT, name VARCHAR(32) ) SELECT id, name INTO ##people FROM employees DROP TABLE ##people Global Temporary Table

5 Made in USA Software Development Services In memory Performs slightly better than local temporary table Automatically cleared when the procedure or function goes out of scope In user-defined function, only allow table variables Table Variables

6 Made in USA Software Development Services DECLARE @people TABLE ( id INT, name VARCHAR(32) ) Table Variables Syntax

7 Made in USA Software Development Services Cannot truncate a table variable Table variables cannot be altered Cannot explicitly add an index to a table variable Cannot drop a table variable when it is no longer necessary … Limitations of Table Variables

8 Made in USA Software Development Services Rarely use ##table Choose between #table and @table Depend on performance and reasonable load testing Small data set result, use @table Need index, use #table In most situations, #table makes more sense Avoid cursor Use #table before large tables’ join. Do not use the SELECT INTO statement to create #table Conclusion

9 Made in USA Software Development Services ex_tmp_table.sql ex_no_tmp_table.sql Code Examples LocationWork AreaMonth Piece Sum Month Hours Sum YTD Piece Sum YTD Hours Sum Location 1WA01200501500250 Location 1WA02300601400300 Location 2WA01250551600300 Location 2WA02260803000320 …

10 Made in USA Software Development Services Microsoft SQL Server Management Studio Tools Actual Execution Plan Client Statistics Database Engine Tuning Advisor

11 Made in USA Software Development Services Actual Execution Plan (1) On SQL Server Management Studio’s tool bar

12 Made in USA Software Development Services Actual Execution Plan (2) According to the result, determine which sql statements are the bottlenecks

13 Made in USA Software Development Services Client Statistics (1) On SQL Server Management Studio’s tool bar

14 Made in USA Software Development Services Client Statistics (2) Review the performance

15 Made in USA Software Development Services Database Engine Tuning Advisor (1) On SQL Server Management Studio’s tool bar

16 Made in USA Software Development Services Database Engine Tuning Advisor (2) Start Analysis

17 Made in USA Software Development Services Database Engine Tuning Advisor (3) Create recommended indexes

18 Made in USA Software Development Services Database Engine Tuning Advisor (4) ex_advisor.sql


Download ppt "Made in USA Software Development Services Ayoka, L.L.C. 202 E. Border Street, Ste 334 Arlington, TX 76010 817.210.4042 www.ayokasystems.com By Steve Chang."

Similar presentations


Ads by Google