나는 매우 착수중인 측면 프로젝트에서 일하고있다. 내 질문에 BOOLEAN 값을 사용하여 추가 데이터 처리가 필요한지 여부를 결정할 때 얻는 효율성이 고려됩니다.부울 (BOOLEAN) 값을 통한 SQL (mySQL) 최적화
예 : 모든 생물을 나열한 표가있는 경우. 자연계에서 관계형이었던 다른 테이블에서는 최대 절전 모드 동안 최대 절전 모드 시간과 칼로리를 매일 표시했습니다.
내부 (생물) 테이블에 "최대 절전 모드"BOOLEAN 값을 설정하는 것이 효율적입니까?
true 인 경우 "hibernation_creature_info_relations"테이블로 이동하여 해당 ID를 가진 크리쳐를 찾아 반환하십시오.
"hibernates"= false 값을 가진 모든 생명체는 SQL이 "hibernation_creature_info_relations"의 큰 테이블을 검색하지 않아도된다는 것을 의미합니다.
또는 ID를 사용할 때 "hibernation_creature_info_relations"테이블을 너무 빨리 검사하면 너무 빠르므로 최대 절전 모드 값이 설정된 경우 기반으로 수행하는 인수를 처리해야하므로 성능에 실제로 큰 영향을 미칩니다 참 또는 거짓으로?
나는 이것이 내가 묻고있는 것을 이해하는 데 도움이되는 충분한 정보 였으면 좋겠다. 내게 알려 주면 더 많은 내용을 포함하거나 더 자세히 설명해 줄 수 있기를 바랍니다.
다른 테이블에서 최대 절전 모드 필드를 복제하지 않아도 많은 이점을 얻을 수 있습니다. 데이터 세트의 크기를 줄임으로써 속도를 향상 시키려면 원래 테이블에 다시 결합해야합니다. –
또한 명령형 언어와 달리 SQL의 실행 순서/최적화를 제어 할 수있는 권한은 거의 없습니다. 이것이 조인 재정렬, 테이블 스캔 사용, 표시 전환, 다른 순서 지정 및 임시 테이블 생성을 포함하여 쿼리 속도를 높이기 위해 '시도'할 수있는 다양한 작업을 수행 할 수있는 옵티 마이저입니다. 또한 실제로 단락 논리와 같은 것은 없습니다. 특히 조인의 컨텍스트에서 그렇습니다 (옵티마이 저는 적합하다고 생각되면 자유롭게 사용할 수 있습니다). –