Răsfoiți Sursa

慢查询优化:counts加上索引以后,索引基数太差,所以排序在程序中处理,加快查询

王苗苗 7 luni în urmă
părinte
comite
8d0bac174a

BIN
.DS_Store


+ 4 - 1
slibra-admin/src/main/java/com/slibra/web/controller/business/FrontController.java

@@ -25,9 +25,11 @@ import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;
+import java.util.Comparator;
 import java.util.Date;
 import java.util.List;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 import static com.slibra.common.constant.MyConstants.*;
 
@@ -121,7 +123,8 @@ public class FrontController extends BaseController {
         //获取登录用户信息
         Long userId = SecurityUtils.getUserId();
         tXinyiChatRecord.setUserId(String.valueOf(userId));
-        return AjaxResult.success(xinyiChatRecordMapper.selectTXinyiChatRecordList(tXinyiChatRecord));
+        //2024年08月16日13:50:30  拿到数据以后,按照counts字段排序,目的是让SQL通过ID排序,走主键索引
+        return AjaxResult.success(xinyiChatRecordMapper.selectTXinyiChatRecordList(tXinyiChatRecord).stream().sorted(Comparator.comparing(TXinyiChatRecord::getCounts)).collect(Collectors.toList()));
     }
 
 

+ 3 - 1
slibra-system/src/main/resources/mapper/business/TXinyiChatRecordMapper.xml

@@ -49,7 +49,9 @@
             <if test="isShutdown != null "> and is_shutdown = #{isShutdown}</if>
             <if test="revision != null "> and revision = #{revision}</if>
         </where>
-        and del_flag = 0 order by counts asc, id desc
+        <!-- and del_flag = 0 order by counts asc, id desc -->
+        <!-- 2024年08月16日13:43:53 慢查询优化:counts加上索引以后,索引基数太差,所以排序在程序中处理,加快查询ßßßßß -->
+        and del_flag = 0 order by id desc
     </select>
 
     <select id="selectTXinyiChatRecordFirstList" parameterType="TXinyiChatRecord" resultMap="TXinyiChatRecordResult">