ActiveRecord가 필요하지 않을 때 ActiveRecord가 데이터베이스에 SHOW FIELDS를 발행하지 못하도록하는 방법이 있습니까?ActiveRecord에서 SHOW FIELDS 피하기
데이터베이스 성능이 중요한 응용 프로그램에서 작업 중이며 일반적인 쿼리에서 SELECT에 0.5ms가 걸리며 관련 SHOW FIELDS가 2ms - 4 배 더 길어졌습니다. 나는 이미에만 열을 지정하고 있습니다 때문에 더욱 중요한 것은, 필요하지 않을 것 내가 검색하려는 :
UsersAddress.find(:all, :conditions => {:user_id => 1}, :select => :address_id)
UsersAddress로드 (를 0.5ms) SELECT address_id을
users_addresses
FROM WHERE (.users_addresses
user_id
= 1)users_addresses
FROM
UsersAddress 열 (2.1ms) SHOW 필드는이 일부 테이블을 한 번 할 때마다 발생, 부여 처음 만져도 완전히 피할 수는 없습니까? 우선, 해당 정보는 이미 내 스키마에 있습니다. 둘째로, 나는 그것을 필요로하지 않는다.
정말 필요한 경우가 아니라면 Rails가 SHOW FIELDS를 실행하지 않도록 최적화하는 방법은 무엇입니까?
감사합니다.
감사를 참조하십시오. 나는 그때 그것에 대해 걱정하지 않을 것 같아요. 그것이 내 모델을 변경 한 경우 dev 모드에서 확인하는 이유는 무엇입니까? –
알아 두어야 할 것은'cache_classes = false'의 일부입니다. – Eric