programing

루비, 레일즈: mysql2 보석, 누가 이 보석을 사용합니까?안정적입니까?

powerit 2023. 10. 5. 23:36
반응형

루비, 레일즈: mysql2 보석, 누가 이 보석을 사용합니까?안정적입니까?

mysql2 gem을 찾았습니다.루비 1.9 및 utf8 인코딩(mysql gem과는 반대)을 사용해도 잘 작동합니다.

하지만 저는 의심이 듭니다.누가 이 보석을 생산에 사용합니까?성능 테스트는 어떻습니까?mysql gem보다 빠릅니까?안정적입니까?

mysql2기존 제품을 보다 현대적으로 대체하기 위한 것입니다.mysql얼마 전부터 썩어버린 보석.저는 또한 저자가 더 이상 이를 지원하지 않고 대신 더 많은 루비 구현과 호환되기 때문에 모든 사람들이 자신의 퓨어 루비 버전을 사용할 것을 권장한다고 들었습니다.

의 .mysqlgem은 C에서다.Pure-Ruby에서 이 작업을 수행하는 것은 매우 느리며, 애초에 존재할 필요가 없었던 객체를 힙에 생성합니다.그리고 우리 모두가 알고 있듯이 루비의 GC가 느리다는 주된 이유입니다.그래서 최대한 피해서 순수한 C로 하는 것이 가장 좋습니다.

둘째, 연결하고 쿼리를 전송하며 응답을 기다리는 동안 전체 루비 VM을 차단하고 연결을 닫는 것입니다.mysqlplus확실히 이 문제에 도움이 되지만, 제가 아는 한 질의를 보내는 경우에만 해당됩니다.

mysql2는 API를 극도로 단순하게 유지하면서 이러한 문제를 해결하는 것을 목표로 합니다.Eric Wong(유니콘의 저자)는 거의 모든 것을 차단하지 않고 루비의 GVL을 출시하는 멋진 패치를 제공했습니다.Mysql2::Result다class는 Enumerable을 할 수 있습니다.

저는 현재 몇몇 사람들만 생산에 사용하고 있는 것으로 알고 있는데 트위터, WorkingPoint, UserVoice에서도 평가하고 있습니다.

는 와도 입니다.YehudaRails 3에 대한 권장/기본값입니다.및는 DataObjects의입니다 DataObjects될 예정입니다.do_mysql운전자도 곧 가능합니다.

ActiveRecord 드라이버는 현재 상당히 견고해야 합니다.을 gem하고 데이터베이스로 .yml의 어댑터 이름을 다음으로 변경하기만 하면 됩니다.mysql2.

만약 여러분이 그것을 사용하고 싶다면, 한 번 해보세요.문제가 발견되면 수정사항을 신속하게 적용해 드립니다 ;)

mysql2는 이제 레일 3의 기본값입니다.

좀 늦었지만 몇 개의 사이트에서 생산에 mysql2를 사용하고 있으며, 몇 주 전에 연결이 닫히는 문제가 해결된 이후로 매우 안정적이라는 것을 알게 되었습니다.

Rails 3.0.0 for Windows에서 mysql2 gem 대신 mysql gem을 사용하고 싶은 사람이 있다면, 나는 rails app generator를 조정하는 방법을 설명하는 짧은 글을 썼습니다.

여기 답변에 따라 'latin1' 문자를 'utf8'로 변환해야 합니다.

레일의 UTF8 MySQL 문제 - utf8_general_ci 인코딩 문제

참고로 Rails 3.0.11에서 mysql2(0.2.x)를 사용할 때 RubyGems 버전을 1.8.15에서 1.8.10으로 다운그레이드해야 했습니다.그렇지 않으면 승객 바프...

언급URL : https://stackoverflow.com/questions/3001243/ruby-rails-mysql2-gem-does-somebody-use-this-gem-is-it-stable

반응형