<div>mysql 5.7버전</div> <div>fr_hit 테이블</div> <div><span style="font-size:9pt;">6개의 열 : </span><span style="font-size:9pt;">id(int),</span><span style="font-size:9pt;"> </span><span style="font-size:9pt;">hitter(tinitext), </span><span style="font-size:9pt;"> </span><span style="font-size:9pt;">category(tinitext), </span><span style="font-size:9pt;"> </span><span style="font-size:9pt;">target(tinitext), </span><span style="font-size:9pt;"> </span><span style="font-size:9pt;">tag(tinitext),</span><span style="font-size:9pt;"> </span><span style="font-size:9pt;">date(timestamp)</span></div> <div>primary key = id</div> <div>fulltext index = hitter, category, target, tag</div> <div>카테고리, 타겟, 태그는 enum 같은 정해진 몇개의 텍스트 </div> <div>hitter는 불특정 텍스트</div> <div><br></div> <div>약 60만개의 행</div> <div>=======================</div> <div><span style="font-size:9pt;">select *</span></div> <div>from fr_hit </div> <div>where</div> <div><span style="white-space:pre;"> </span>hitter=2 and</div> <div><span style="white-space:pre;"> </span>category="community" and</div> <div><span style="white-space:pre;"> </span>tag="inbox" and</div> <div><span style="white-space:pre;"> </span>target=744</div> <div>======= 약 0.3초 =======</div> <div><br></div> <div> <div>select fr_test.*, fr_hit.id</div> <div>from fr_test</div> <div>left join fr_hit ON</div> <div><span style="white-space:pre;"> </span>fr_hit.hitter='aa' and</div> <div><span style="white-space:pre;"> </span>fr_hit.category='community' and</div> <div><span style="white-space:pre;"> </span>fr_hit.tag='inbox' and</div> <div><span style="white-space:pre;"> </span>fr_hit.target=fr_test.id</div> <div>limit 1;</div></div> <div>========= 약 50초 ==========</div> <div><br></div> <div>fr_test테이블 리스트를 10개 뽑아온다고 하면 몇분이 걸리는 상황입니다.</div> <div>지금은 fr_test를 그냥 select하고 fr_hit테이블을 셀렉트 하는 상황이고 </div> <div>지금 그 마저도 한개당 0.3초 정도니 10개를 한다고 하면 3초인 상황이라 느리다는 판단입니다.</div> <div><br></div> <div>찾다가 fulltext라는 인덱싱을 해봤는데 이건 match와 같은걸로 해야한다고 하고... </div> <div>음.. 몇일정도 찾아보고 이것 저것해봤는데 답이 안나오는 상황입니다..</div> <div><br></div> <div>제가 해본 테스트 상황으로는 fr_hit.hitter 때문에 느리다는 답이 나왔는데 어떻게 개선을 해야할지...</div> <div><br></div> <div>어떻게 성능향상을 할 수 잇을까요...그리고 join이 왜이렇게 느린걸까요...</div> <div>답변 부탁드립니다... 감사합니다..</div> <div><br></div> <div><br></div> <div><br></div>