11. Use Indexed Columns in where clause columns as they return results faster.
12. Create a primary key on each table you create and unless you are really knowledgeable enough to figure out a better plan, make it the clustered index
13. Create a primary key on each table you create and unless you are really knowledgeable enough to figure out a better plan, make it the clustered index.
14. Create an index on any column that is a foreign key.
15. Use set nocount on at the top of each stored procedure and set nocount off at the bottom.
16. Avoid using temp table unnecessarily, if needed explicity create them.
17. To help identify long running queries, use the SQL Server Profiler Create Trace Wizard to run the "TSQL By Duration" trace.
18. Use Joins instead of Subqueries.
19. "SET NOCOUNT ON" reduces network traffic between server and client.
20. use the SQL Server's Profiler Create Trace Wizard to run the "Profile the Performance of a Stored Procedure" trace to provide you with the data you need to identify poorly performing stored procedures.
21. Use covering index whereever needed, it reduces logical and physical IO and increases performance.
1. Use actual column names instead of '*' in the queries.
2. HAVING clause is used to filter the rows after all the rows are selected. It is just like a filter. Do not use HAVING clause for any other purposes.
3. Try to minimize number of subqueries in your query
4. Avoid using IN unnecessarily as IN is slowest.
5. IN is efficient when most of the filter criteria is in the sub-query.
6. EXISTS is efficient when most of the filter criteria is in the main query.
7. Use EXISTS instead of DISTINCT when using joins which involves tables having one-to-many relationship.
8. Try to use UNION ALL in place of UNION.
9. To store large binary objects, first place them in the file system and add the file path in the database.
10. Best practices :
a) Use single case for all SQL verbs
b) Begin all SQL verbs on a new line
c) Separate all words with a single space
d) Right or left aligning verbs within the initial SQL verb
Web Application Stress ( WAS ) tool, simulates multiple HTTP clients making requests to your Web site, while ASP.NET includes a number of performance counters that you can use to track the execution of your application.
create a custom base class for the Global.asax file. This base class inherits from the HttpApplication class, just like the default Global class that sits behind the Global.asax file. The custom base class provides the same members as the default Global.asax file, but even better, you can extend the class with additional members, such as custom properties for tracking counters.
This counter measures (in milliseconds) how long it takes for the Web application to service a request. TTLB is a key
indicator of how scalable an application is.
Use as much of Stored Procedure as you can instead of queries inside the application. By this the execution happens at the backend and only results are returned thereby increasing performance and speed.