질문/조언질답게시판
Extra Form
PHP PHP 5.3
CMS XpressEngine

위사이트 만들고 있는데, 확장변수 검색 및 정렬시 너무 느려서 사용을 못할 정도 입니다.(특히 검색)

db를 쿼리로 직접 입력 하였는데, 혹시 제가 빠뜨린 것이 있는지,

xe_document_extra_vars의 index 설정 문제인지,

힌트좀 알려주실수 있나요?

  • profile

    쿼리를 직접 입력하셨다면 어떤 쿼리인지 알아야 어떤 인덱스를 타고 있는지 알 수 있지요. XE타운 유저분들이 남의 서버에서 돌아가는 쿼리를 독심술로 분석할 수는 없는 일이니...

     

    검색하지 않고 그냥 카테고리 선택만 해도 눈에 띄게 느려지는 것으로 보아, 뭔가 설계가 잘못된 것은 분명합니다. 물론 확장변수로 검색하면 느려지는 것은 XE 종특이므로 가능하면 카테고리를 사용하는 것이 좋습니다만, 글이 기껏해야 1만여개인 듯 한데 이렇게 느리다면 쿼리를 잘못 짰거나 서버 자체가 느릴 가능성이 있죠.

  • profile ?

    답변 정말 감사합니다. 확장변수검색은 윤삼님 확장변수 애드온을 사용하였구요. (카테고리선택처럼보이는 버튼들)

    db입력은
    INSERT INTO xe_documents( title, contet, module_srl, document_srl 등등) VALUE (해당값들);
    으로 입력하였고
    document_srl은 getNextSequence(); 로 가져왔습니다.
    그다음 확장변수 입력은
    위의 document_srl 가져와서 마찬가지로
    INSERT INTO xe_document_extra_vars ( module_srl, document_srl, var_idx, lang_code, value, eid) VALUE (해당값들);
    이렇게 단순히 넣었는데, 확장변수 입력시 뭔가 추가로 해줘야할 작업이 있는것인지 확신이 없네요.

  • ? profile

    [수정] XE는 이유여하를 막론하고 쿼리를 직접 실행하기보다는 insertDocument 등 글 등록 용도로 만들어진 함수를 호출하는 것이 정석입니다만, 아무튼 속도와 관련해서 INSERT 부분은 문제가 되지 않습니다. 목록 열람 및 검색에 사용하는 SELECT 쿼리가 문제죠. 윤삼님 애드온에 들어 있는 쿼리가 원래 비효율적인 건지도 모르겠네요.

  • profile ?
    일단 insert 쿼리에 문제가 없다는건 알았네요! 정말감사합니다. 다른쪽으로 봐야겠네요 고맙습니다.
  • ? profile
    검색은 애드온에만 의존하고 계신 건가요? 그러면 애드온을 조져야겠네요. ㅎㅎ