2017-11-23 3 views
0

약 300 000 번 전체 양식 데이터를 저장해야합니다. Pls는 이유를 묻지 않습니다. ;)MySQL BLOB 또는 VARCHAR?

그래서 약 20-30 개의 간단한 필드가있는 JSON 직렬화 된 양식 데이터가 있습니다.

어떤 점이 효과적이라고 생각하십니까? 이 JSON base64를 VARCHAR에 인코딩하거나 BLOB에 gzcompressed로 저장해야합니까?

나는 VARCHAR과 BLOB의 차이점을 알고 있지만 gzcompressed json보다 훨씬 큰 base64를 알고있다. FYI : bas64로 인코딩 된 형식은 약 2.3K이고 gz 압축 된 동일한 데이터는 420 바이트입니다.

이러한 양식을 검색하려면 꼭 필요한 것은 아닙니다.

들으

답변

1

MySQL은 실제로 JSON 데이터 유형이 있습니다.

+0

네, 좋을 수도 있습니다. 귀하의 제안에 감사드립니다. 그러나 데이터베이스의 크기는 어떻습니까? 그것은 소수지만 레코드의 thousend되지 않습니다. JSON 필드 유형의 장점은 최적화 된 저장소이지만 저장된 크기가 더 크다고 생각합니다. 너 말고? – szatti1489

+1

수천 건의 기록? 수천 개의 레코드에 대해 이야기하고 있다면 아마도 문제가되지 않을 것입니다. 물론 JSON 문서의 크기에 따라 다릅니다. 500 Mio 있다면. JSON 문서가 0.5kB이면 데이터베이스는 250GB가됩니다. 사용하는 엔진에 따라 JSON 또는 BLOB로 JSON을 저장하는 것과 저장 요구 사항을 줄이기 위해 압축을 사용하는 것 사이에는 큰 차이가 없을 것입니다. 우리는 약 350 미오. JSON 문서와 총 DB 크기는 약 80GB입니다 (물론 JSON 문서는 각각 약 100-200 바이트 정도입니다). – mroman

+0

죄송합니다. 수십만 건의 기록이 있습니다. 더 정확히는 약 350,000입니다. 그러나 실제로 그것은 대략 350 Mio 미만입니다. :) – szatti1489