I heard a rumour that in MySQL, it's faster to select *,... just checking if there's any truth to the rumour.
Main Topics
Browse All TopicsWhat returns a quicker result set:
A) SELECT * FROM TABLE WHERE COLUMN='STRING';
B) SELECT FIELD.TABLE, FIELD2.TABLE, FIELD3.TABLE WHERE COLUMN='STRING';
This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.
Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.
If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.
Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.
Access the answers to your technology questions today.
30-day free trial. Register in 60 seconds.
Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Try it out and discover for yourself.
30-day free trial. Register in 60 seconds.
Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.
I'm not aware of that. Since your question is MySQL-specific, it would be better if it was asked in the MySQL Topic Area.
http://www.experts-exchang
In general specifying the actual column names you require will be faster as that allows an optimum
access path to be chosen by the database manager...
in the case where a whole row is being returned anyway then * is possibly faster as less parsing time may be
required...
however how often will the application require access to all columns on the row... (very infrequently in my
experience)
so specifying column names will NORMALLY be the best option...
The selection of specific columns is faster than selecting all columns by using SELECT *. I agree with "MohanKNair" when he says that the performance hit is particularly felt when you have large text fields stored in different blocks.
Also, using SELECT * is a bad programming practice - even if you want to select all columns, use SELECT a, b, ... - that not only executes your queries faster, but prevents you from unwanted effects of addition of a new column which you might not want in your result-set.
Business Accounts
Answer for Membership
by: jimhornPosted on 2006-06-22 at 12:11:39ID: 16963022
The * returns all columns, and your other query returns three, so assuming you are going up against the same table in both queries, the one with the fewer number of columns would be faster.