这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
bugs:db:2018092901 [2019/03/15 10:13] jinlong.hao [最终解决] |
bugs:db:2018092901 [2020/07/12 12:07] (当前版本) |
||
---|---|---|---|
行 25: | 行 25: | ||
==== 主要业务逻辑:==== | ==== 主要业务逻辑:==== | ||
- | 1. 重复线索:若有同样电话的销售线索,则新插入一条数据,将新插入的数据的first_group_id设置为第一条同样号码的线索;第一条线索的last_group_id设置为最新的一条线索id | + | - 重复线索:若有同样电话的销售线索,则新插入一条数据,将新插入的数据的first_group_id设置为第一条同样号码的线索;第一条线索的last_group_id设置为最新的一条线索id |
- | 2. 修改客户姓名: | + | - 修改客户姓名: |
- | 1. 在cust_base_info中查找对应线索id的数据,若有则更新数据,若无则插入一条数据; | + | - 在cust_base_info中查找对应线索id的数据,若有则更新数据,若无则插入一条数据; |
- | 2. 若此线索为重复线索,则所有修改只针对其first_group_id来做 | + | - 若此线索为重复线索,则所有修改只针对其first_group_id来做 |
> PS:再次吐槽这样的设计 | > PS:再次吐槽这样的设计 | ||
行 42: | 行 42: | ||
### 关键sql | ### 关键sql | ||
经过查询日志,发现出现问题的列表sql如下 | 经过查询日志,发现出现问题的列表sql如下 | ||
- | ~~~sql | + | |
+ | <code sql> | ||
select | select | ||
a.id as "id", | a.id as "id", | ||
行 66: | 行 67: | ||
a.enquire_date desc | a.enquire_date desc | ||
LIMIT 20 | LIMIT 20 | ||
- | ~~~ | + | </code> |
- | > * where条件主要是为了只取最新的一条数据 | + | > where条件主要是为了只取最新的一条数据 |
- | > * join的条件是为了保证在新线索来以前修改的客户姓名 | + | > join的条件是为了保证在新线索来以前修改的客户姓名 |
===== 问题分析与解决 ===== | ===== 问题分析与解决 ===== | ||
行 88: | 行 89: | ||
首先去掉left join cust_base_info,执行下面的sql | 首先去掉left join cust_base_info,执行下面的sql | ||
- | ~~~sql | + | <code sql> |
select | select | ||
a.id as "id", | a.id as "id", | ||
行 108: | 行 109: | ||
a.enquire_date desc | a.enquire_date desc | ||
LIMIT 20 | LIMIT 20 | ||
- | ~~~ | + | </code> |
发现速度飞快,可以确定是这个join的问题 | 发现速度飞快,可以确定是这个join的问题 |