![]() Finding the desired book used to take hours for the librarian, and most of the time, the persons who asked for the book had to wait for a long time. ![]() So, each time a person asked for a book to the librarian, the librarian had no way but to check every book to find the required book that the person wanted. It had thousands of books, but the books ware not arranged in any order in the book shelves. Long ago, there was a big library in an ancient city. So, let us try to understand indexing once again. But, I've seen many people being unclear on this. However, if indexing is already done, I would still recommend you to go through this step. Of course, this quick performance improvement can be achieved if you find that indexing is not properly done in the current database. Applying/creating indexes in the database will not require you to do any application modification, and thus will not require any build and deployment.This will allow you to achieve the best possible performance in the quickest amount of time in a production system.But I would prefer applying indexing properly in the database in the first place, because of the following two reasons: ![]() Well, some could argue whether implementing proper indexing should be the first step in the performance optimization process for a database. Let us start our optimization mission in a step-by-step process: Step 1: Apply proper indexing in the table columns in the database So, you need to review and optimize your data access/manipulation routines for improving the overall application performance. When a database based application performs slowly, there is a 90% probability that the data access routines of that application are not optimized, or not written in the best possible way. We have a database to optimize, let's start! But, optimization scopes that fall into a DBA's area are out of scope for these articles. Database Administrators (DBAs) also have a great role to play in optimizing and tuning database performance. That is, as a developer, I'll focus on the issues that you need to follow to make sure that you have done everything that you could do to optimize the data access code you have written or you are going to write in future. But, most of the optimization techniques are roughly the same for other database platforms.Īlso, the optimization techniques I am going to discuss are applicable for software application developers only. Please note that the primary focus of this series of articles is "data access performance optimization in transactional (OLTP) SQL Server databases". I just hope this might enable you to optimize your data access routines in existing systems, or to develop data access routines in an optimized way in your future projects. I want to help you do this by sharing my data access optimization experiences and findings with you in this series of articles. ![]() If you are part of this story, you must have not written the data access routines in your application in the best possible way, and it's time to optimize those now. I know why such situations take place, and I can tell you what to do to overcome this. Almost every developer, including me, has taken part in the story sometime in his/her development life. This is the same old story for thousands of application projects developed worldwide. The testing team performed a test on the production site, and they found that the order submission process was taking 5 long minutes to complete, whereas it used to take only 2/3 seconds to complete in the test site before production launch." Looking into the database, you find that the database tables have grown large in size and some of them were containing hundreds of thousands of rows. Soon you discover that the production database was performing extremely slowly when the application was trying to access/update data. The client claimed that they started losing users. E-mails started to arrive from the client complaining that the site is performing too slowly (some of them ware angry mails). As the number of users in the site started growing at a rapid rate day by day, problems started occurring. Your client, management, team and you - everybody is happy. You have a pretty satisfied client so far as the site was able to attract thousands of users to register and use the site within a small amount of time. " It's been months since you and your team have developed and deployed a site successfully in the internet.
0 Comments
Leave a Reply. |