PHP를 사용하여 MySQL 데이터베이스와 상호 작용하고 "SELECT * FROM ..."으로 MySQL을 쿼리하는 것이 "SELECT ID FROM ..."보다 다소 효율적인지 궁금합니다.MySQL SELECT 효율
답변
덜 효율적입니다.
생각하면 SQL은 선택한 각 행에 대한 모든 데이터를 보냅니다.
MassiveTextBlock
이라는 열이 있다고 가정하면이 열은 SELECT *
일 때 포함되므로 실제로 필요하지 않을 때 SQL에서 모든 데이터를 보내야합니다. 반대로 SELECT id
은 숫자 모음을 잡는 중입니다.
SELECT ID보다 많은 정보를 가져 오기 때문에 효율성이 떨어집니다. 또한 두 번째 질문은 색인을 사용하여 제공 될 가능성이 큽니다.
왜 데이터를 선택 하느냐에 달려 있습니다. phpMySQL과 같은 원시 데이터베이스 인터페이스를 작성한다면 의미가 있습니다. 당신이 동일한 조건 및 연결 작업과 같은 테이블에서 여러 쿼리를 수행하는 경우
, 다음 SELECT col1, col2 FROM table
이 같이 동일한 데이터의 다른 부분을 얻기 위해 두 개의 독립적 인 SELECT col1 FROM table
과 SELECT col2 FROM table
을 사용하는 것보다 할 수있는 더 의미가 있습니다 동일한 쿼리에서 두 작업을 모두 수행합니다.
그러나 일반적으로 불필요한 데이터가 DBMS에 의해 정리되는 것을 최소화하기 위해 테이블에서 필요한 열만 선택해야합니다. 데이터베이스가 클라이언트 서버와 다른 서버에 있거나 데이터베이스 서버가 오래되거나 느린 경우이 증가의 이점이 크게 나타납니다.
SELECT *
을 피할 수없는 조건은 없지만 데이터 모델에 심각한 디자인 결함이있을 수 있습니다.
색인에 따라 다릅니다.
MySQL에서 결과를 가져 오는 데 사용한 색인에만있는 열만 선택하면 더 적은 열을 선택하면 때로는 많은 시간을 절약 할 수 있습니다. 예를 들어
, 당신은 열 id
에 인덱스를 가지고 있고,이 쿼리 수행하는 경우 :
SELECT id FROM mytable WHERE id>5
는 다음의 MySQL은 인덱스를 읽을 필요가, 심지어 테이블 행을 읽을 필요하지 않습니다. 다른 한편으로는, 당신은 같은에 추가 열을 선택하는 경우 :
SELECT id, name FROM mytable WHERE id>5
그런 다음 MySQL은 다음 인덱스에서 ID를 읽을 이름 열을 읽을 수있는 테이블 행으로 이동해야합니다.
그러나 색인에서 선택하지 않은 열을 읽는 경우 더 많은 열을 읽는 것이 큰 차이를 만들지는 못하지만 약간의 차이가 있습니다. 일부 열에 큰 TEXT 또는 BLOB 열과 같이 많은 양의 데이터가 포함되어있는 경우 필요하지 않은 경우 제외하는 것이 좋습니다.
- 1. mysql 삭제 효율
- 2. 쿼리 효율
- 3. 루비 레일에 액티브 효율
- 4. C# GroupJoin 효율
- 5. mysql select 문은 table.field
- 6. Mysql, NOT EXISTS, SELECT
- 7. MYSQL SELECT LIKE "masks"
- 8. mysql select price range
- 9. mysql fake select
- 10. MYSQL SELECT. 번호 필드
- 11. MYSQL INSERT SELECT 문제
- 12. MySQL MD5 SELECT
- 13. mysql select update
- 14. MySQL SELECT, 변수에 저장
- 15. 조건부 SELECT MySQL
- 16. 조건부 도움말이있는 MySQL SELECT
- 17. mysql select 쿼리 문제
- 18. mysql select 문에서 업데이트
- 19. MYSQL/PHP SELECT DISTINCT
- 20. MySQL SELECT when update
- 21. mysql select narrowing search
- 22. mysql select problem
- 23. 그룹별로 mysql select
- 24. Python if 문 효율
- 25. 루프 효율 - C++
- 26. 개체의 메모리 효율
- 27. 루프 처리 효율
- 28. 1x 단색 이미지 효율
- 29. SQL-lite 효율
- 30. 컴퓨팅 효율 질문
downvotes는 무엇입니까? 속는 사람이라면 그렇게 말한 의견을 남겨 두십시오. – BoltClock
왜 PHP가 문제가됩니까? 효율성 문제는 인터페이스가 쿼리에 사용되었는지에 달려 있습니까? – zerkms