On BBCode 또는 HTML 데이터베이스에 저장하는 방법에 대한 질문을 찾았지만 둘 다 저장하는 것은 어떨까요? 예를 들어, & body_html
이라는 두 개의 열이있는 posts
DB 테이블을 만듭니다.데이터베이스에 BBCode와 HTML 버전을 모두 저장 하시겠습니까?
body_bbcode
사용자 (포럼 회원)가 제출 한 원본 게시물을 저장하고 body_html
에 해당 게시물의 구문 분석 (HTML) 버전을 저장합니다.
포럼 게시글을 표시하려면 body_html
을 사용하고 & (인용문에 회신)을 편집하려면 body_bbcode
을 사용합니다. 파서는 정규식을 사용하고 body_html
없이 화제 페이지 당 최소 포럼 게시물을 변환 할 필요가 있기 때문에
내가 이렇게 할 이유입니다. 내가 틀렸다면 나를 정정하십시오. 그러나 성능 문제가 발생할 수 있습니까?
다른 한편으로 나는 이런 식으로하는 사람을 보지 못했고 그래서 데이터베이스에서 더 많은 공간을 차지하는 것 외에이 접근법의 단점이 무엇인지 궁금합니다.
또한 검색을 위해 일반 텍스트 버전을 저장하는 새 열을 추가하여 태그 자체가 검색되지 않도록하려고합니다 (예 : body_text
).
왜 실제 HTML을 DB에 저장해야합니까? 실제 HTML은 모든 포럼 회원 중 정적입니다. '게시'또는 '텍스트'를 저장하고 BBC를 올바르게 구문 분석하면됩니까? – Tony
@Tony 설명되어 있지만 분명히 읽지는 못했습니다. '파서가 정규식을 사용하고 body_html없이 화제 페이지 당 적어도 15 개의 포럼 게시물을 변환해야하기 때문에 내가 이것을하고 싶은 이유가 있습니다. 내가 틀렸다고 정정하면 성능에 문제가 생길 수 있습니까? ' – PeraMika
* "내가 틀렸다면 고쳐주세요.하지만 성능 문제가 발생할 수 있습니까?"- 할 수 있습니까? 이것을 테스트하고 실제 문제를 측정 했습니까? 이러한 성능 문제는 동일한 데이터를 여러 위치에 저장하는 데 추가되는 복잡성이 있습니까? 원시 백킹 데이터를 저장하고 해당 데이터에 대해 계산/대체를 수행하는 것을 선호하는 것이 좋습니다. 복잡성 때문에 성능을 교환하는 경우가있을 수 있지만 그렇게하기 전에 성능을 확실히 측정해야합니다. – David