Extra Form
PHP PHP 7.2
CMS Rhymix 2.0

현재 모듈에 생성되는 자료의 고유 srl 값과 첨부되는 파일의 target srl값을을  getNextSequence()을 통하여 저장하고있습니다 그런데 생각해보니 member,document_srl 값에도 getNextSequence() 함수가 사용되는데 뭔가.. 코어기본모듈이 아닌 다른외부모듈에서 남발하면 값이 너무커져버려 문제가 발생하지않을까하는 생각이 들어서.. 외부모듈에서도 사용해도 될까요?

  • profile
    membeR_srl, document_srl 의 최대 글자갯수를 11글자로 지정하고 있습니다.

    숫자에서 11글자라함은..

    999억9999만 9999에 해당되는 항목입니다.

    그나마 재일 오래 운영된걸로 추정되는 해연갤의 document_srl 번호수는

    486,379,846 입니다.

    4억 8천육백.. 어쩌구저저구...

    크게 걱정 안하셔도 될듯 합니다.
  • profile profile
    size="11"로 해놓은 것은 구닥다리 자료입니다.
    라이믹스는 테이블을 생성할 때 숫자 타입의 size 속성을 DB에 전송하지 않습니다.
    만약 전송한다 해도 최근 버전의 DB라면 상큼하게 무시합니다.^^

    BIGINT 타입 자체의 제한은 922경입니다.
    일X 커뮤니티의 최근 시퀀스 번호가 114억쯤 되니까
    일X를 몇억 번 운영해도 남을 만큼 넉넉합니다.
  • profile profile
    아하! 그렇군요. 제가 거기까진 몰랐네요 ㅎㅎ 정정해주셔서 감사합니다 !!
  • profile profile
    기존에 만든것도 다 getNextSequence() 를사용해서 엄청난일을 벌여놓은게 아닌가했는데 말씀보고 안심이됩니다 감사합니다..!
  • profile

    중복되지 않는 고유의 식별번호가 필요할 때 언제든지 사용하셔도 됩니다.

    XE 기반의 유명 사이트 중 시퀀스 값이 수십억~백억을 오가는 곳도 있는데, 아무 문제 없습니다.

    _srl로 끝나는 번호는 모두 getNextSequence()로 생성하는 것이 원칙입니다.

     

    단, 굳이 고유번호를 붙일 필요가 없는 추천기록, 스팸필터 힛트 기록 등

    로그 성격의 데이터에는 DB 자체의 auto_increment 기능을 PK로 사용하는 것을 추천합니다.

    (테이블에 아예 PK가 없는 구조는 권장하지 않습니다. InnoDB가 싫어해요.)

     

    미묘하게 성능차이가 있지만 신경써야 할 정도는 아니고,

    용도에 따라 적절한 방법을 선택하시면 됩니다.

  • profile profile
    별도의 규칙적인 알고리즘을 통해 모듈 srl과 file을 관리했어야하는줄 알고 엄청 심란했네요ㅎ.. 말씀듣고 안심이됩니다 auto_increment 사용팁까지 알려주셔서 감사합니다...! (이전 모듈에선 PK지정을 안했는데 얼른 개선해야겠네요ㅠㅠ