2012-07-24 3 views
-1
을 선택

가능한 중복 : SELECT specific_columns FROM table_name을하고보다 SELECT * FROM TABLE_NAME을하고 큰 성능에 미치는 영향이
Which is faster/best? SELECT * or SELECT column1, colum2, column3, etc는 SELECT * 또는 특정 열

있습니까?

+2

이 곧 넣어, 네있다. 장로님의 말을 들어주세요. : P – xandercoded

+3

SELECT 키워드 뒤의 목록은 ** 열 **이 아닌 행을 선택합니다. –

+1

대부분의 경우 눈에 띄는 차이는 없습니다 (많은 사람들이 거기 있다고 생각하더라도) – zerkms

답변

0

여러분의 필요에 맞는 최적의 방법을 찾으려면 EXPLAIN을 사용할 것을 제안합니다. 나는 당신이 당신의 테이블에 몇 개의 컬럼을 가지고 있는지에 달려 있다고 생각합니다. 다음

는 MySQL을 몇 가지 유용한 사이트는 설명이다 :

http://dev.mysql.com/doc/refman/5.0/en/explain.html

http://dev.mysql.com/doc/refman/5.0/en/using-explain.html

http://weevilgenius.net/2010/09/mysql-explain-reference/

+0

'EXPLAIN'은 특별한 경우에만 다를 것입니다. 그래서 * 일반적으로 *'EXPLAIN'은 둘 다 동일합니다 – zerkms

0

선택 만이 필요! 개발 중에는 *을 사용합니다. 왜냐하면 내가 무엇을 필요로하는지 쉽게 알지 못하기 때문에 더 쉽기 때문입니다. 그러나 최종 버전에서는 정말 구체적이어야합니다. 왜 안돼?

1

예, 특히 여러 행을 선택할 때 성능에 영향을줍니다. 정말 필요한 필드 만 선택하십시오. 당신이 모든 것을 선택할 것 왜
, 당신은 ID를 선택할 수 있습니다 :


이의 예와 같은 간단한 사용자 이름 실존 검사를 보자? 둘 다 일을하고 있지만 하나의 필드 만 선택하는 것이 훨씬 더 좋은 해결책입니다.

SELECT `id` FROM users WHERE `username` = 'Nikola K.' 

보다는 :

SELECT * FROM users WHERE `username` = 'Nikola K.'