Milos Radivojevic is a database developer and consultant, speaker, and trainer located in Vienna, Austria. He has been working with SQL Server over 12 years. He is Microsoft SQL Server MVP and MCT and specializes in SQL Server for application developers and performance and query tuning. Currently he works as senior database developer in bwin.party (the largest regulated online gaming company in the world) where he works with some of the largest SQL Server databases. He is co-leader of the SQL Server PASS Austria. He is a speaker in international conferences (SQLBits, SQL Saturday, SQLU Summit) and speaks regularly at SQL Server PASS Austria meetings. He has developed two courses: SQL Server For Application Developers and (for SolidQ) SQL Server 2012 for Experienced Developers and DBAs (Co-author with Herbert Albert and Gianluca Hotz). His Twitter handle is @MilosSQL.
In this presentation it will be clarified when and why parameter sniffing is a problem in SQL Server stored procedures. Of course we will offer several solutions for this problem and discuss which solution is applicable in which scenario.
In this section we will show how to avoid performance problems caused by poor query design (functions in WHERE clause, data type conversions…) and explain how local variables and parameters affect the generation of execution plan.
SQL Server optimizer doesn't use and index seek for execution of your query although the query is high selective? What is better, when and why: LIKE vs: SUBSTRING, IN vs. EXISTS, SUBQUERY vs. JOIN. Why you should not use the UPPER or LOWER functions?
In this session we will advice how to avoid common developer mistakes and show how bad designed queries reduce the SQL Server optimizer's capabilities for choosing an optimal execution plan.