![]() |
Query Optimization
This is my first article and so please provide comments on it (good or bad).
The design of the database is one of the most important factors in the performance of the database and with a good database design you also need optimal queries to perform optimally. Everyone wants the performance of their database to be optimal but does not concentrate on designing a query. They just write the query depending on the only major factor. What I want. They don’t consider that even the same thing can be achieved with some alternate queries and in more efficient manner. Let’s take a very simple 3 table example, Employee, Department and Sub-Department. Schema of Employee table 1. Employee
Sub-Department table 2. SubDepartment
Department table 3. Department
The relationship between the Employee and Sub-Department table is one or more sub-departments have zero or more employees or in other words zero or more employees work in one or more Sub-Departments. The relationship between Department and Sub-Department is one or more Sub-Department is within one and only one Department. The Entity Relationship diagram of the above scenario is Now with the above Database schema lets have a very basic queries which can give us the same results and we will analyze as to which is faster and better performing than the other one. Let’s take a very common example with the above database schema, to know all the Employees in a particular department. The common solution that comes to our mind is. Code: sql
If we analyze the above solution then we are getting the output for one and only one Department i.e. MyDepartment. So our aim should be to find the Sub-Department’s in our MyDepartment. Code: sql
Code: sql
If you are a web developer and if your client is using MySQL and that also there are chances that he might not be using version 5 then you are in trouble as you cannot use Sub queries. Then you can even write the above query using any programming language and avoid even the sub-query. Let’s take the simple example of PHP and MySQL. Code: PHP
With the above example it looks like the situation is very uncommon but with experience I have found that the above situations occur in numerous real time databases and occasions and some of the example can be very easily taken. One of the examples is what I have chosen, the employee with Department / Subdepartment and other can be Category / Sub-Categor. The category / Sub-Category example applies to majority of users if not all so before going about writing the query just keep in mind “Can this can be done in any alternate and better way”. |
Re: Query Optimization
Quote:
|
Re: Query Optimization
Dear Sir,
How can I merge two tables in SQLServer? |
Re: Query Optimization
Do you wish to merge the tables physically or just like to have a query which shows both the data combined.
|
Re: Query Optimization
Dear Sir,
I have done merging of tables.At present I am having 5 tables in my dataset.Now I want to put the information of dataset into database.How can I achieve this? |
Re: Query Optimization
Sai, I guess you should be a bit more clear with what you are asking but what I get is just inserting the data into the table using looping through the dataset.
|
Re: Query Optimization
Dear Sir,
In a dataset I am having 5 tables information.I have done all the necessary requirements in a dataset.Then how to connect these tables to database or then how can I make update in a database? |
Re: Query Optimization
Try this code here.
|
Re: Query Optimization
Such tricks are no good for good database systems. I don't know, maybe in MySQL this method is worth your time (after reading your article I suppose it must have a very poor query optimizer), but in Oracle, DB/2 and PostgreSQL the first original query with 3-way join is the optimal one. These systems are clever enough not to make a big join first. By the way, subquery with 'IN' is in 99% cases translated into a JOIN by the query rewrite engine. It is much better to create proper indexes to speed up filtering and joining instead of playing with syntactic sugar. ;)
|
Re: Query Optimization
Great for the first article.
|
Re: Query Optimization
Maybe I'll use some of the tricks from the article. Very useful information....
|
Re: Query Optimization
dear friend's
I'am new programmer. ....... regard, |
Re: Query Optimization
useful informatic article ... i like it ... thnks
|
Re: Query Optimization
I have read the article, but it is not quite impressive, there is a lot of scope to develop.
Thanks |
Re: Query Optimization
Really very useful and excellent article. I Rated it Excellent.
|
Re: Query Optimization
good article
|
Re: Query Optimization
Really great Article.It will rate it good.
|
| All times are GMT +5.5. The time now is 03:12. |