본문 바로가기
MySql

MySQL mysql db에 직렬화 된 데이터를 저장하려면 어떤 열 유형을 사용해야합니까?

by 베이스 공부 2020. 10. 13.
반응형

mysql db에 직렬화 된 데이터를 저장하려면 어떤 열 유형을 사용해야합니까? varbinary, blob, text를 사용할 수 있다는 것을 알고 있습니다. 무엇이 최고이며 그 이유는 무엇입니까?

편집하다: 직렬화 된 데이터를 저장하는 것이 "좋은"것이 아니라는 것을 알고 있습니다. 그래도이 경우에해야합니다. 이것에 대해 저를 믿고 대답이 있으면 질문에 집중하십시오. 감사!

 

해결 방법

 

대답하려면 : 텍스트는 많은 DBMS에서 더 이상 사용되지 않는 것 같습니다. 따라서 제한이 높은 blob 또는 varchar를 사용하는 것이 좋습니다 (blob을 사용하면 인코딩 문제가 발생하지 않습니다. 이는 varchar 및 텍스트와 관련된 주요 문제입니다) .


다양한 댓글에 대해 : 여기에 너무 많은 SQL 광신이 있습니다. 내가 SQL과 관계형 모델을 매우 좋아한다는 사실에도 불구하고 함정도 있습니다.

직렬화 된 데이터를있는 그대로 데이터베이스에 저장하면 (예 : JSON 또는 XML 형식 데이터 저장) 몇 가지 이점이 있습니다.

그리고 훨씬 더 많은 다른 이점이 있으므로 팬보이주의는 삼가하십시오. 관계형 데이터베이스는 훌륭한 도구이지만 우리가 얻을 수있는 다른 도구를 요리하지 말자. 도구가 많을수록 좋습니다.

구체적인 사용 예는 JSON 데이터의 열 (속성)이 개별적으로 선택되지 않고 올바른 레코드가있을 때만 사용되는 레코드의 추가 매개 변수를 저장하기 위해 데이터베이스에 JSON 필드를 추가하는 경향이 있습니다. 이미 선택되었습니다. 이 경우에도 관계형 열로 내 레코드를 구별 할 수 있으며 올바른 레코드를 선택하면 원하는 목적으로 추가 매개 변수를 사용할 수 있습니다.

따라서 두 가지 장점 (속도, 직렬화 및 구조적 유연성)을 모두 유지하라는 내 조언은 몇 가지 표준 관계형 열을 사용하여 행을 구별하는 고유 키 역할을 한 다음 직렬화 된 데이터가있는 blob / varchar 열을 사용합니다. 삽입됩니다. 일반적으로 고유 키에는 2/3 개의 열만 필요하므로 이는 큰 오버 헤드가 아닙니다.


 

참조 페이지 https://stackoverflow.com/questions/5544749

 

 

반응형

댓글