为什么这个查询更新无法成功执行?
P粉885562567
P粉885562567 2023-09-03 16:39:14
0
2
408
<p>我有2个表,customers(3000行)和phone_call_log(350,000行)。</p> <p>我需要使用通话记录(对于前端搜索更快)将最后一次通话的时间实现到每个客户。</p> <p>索引如下:</p> <ul> <li>start_time(时间戳)</li> <li>调用(bigint(32)无符号)</li> <li>调用者(bigint(32) 无符号)</li> <li>电话号码(bigint(32) 无符号)</li> <li>last_call(时间戳)</li> </ul> <p>运行此查询时,没有OR语句的情况下,对于caller / callee列,完成时间小于2秒,但是有了OR语句,将无法完成(在测试中,我没有让它运行超过30分钟)。</p> <pre class="brush:sql;toolbar:false;">UPDATE customers SET customers.last_call = ( SELECT max(phone_call_log.start_time) FROM phone_call_log WHERE phone_call_log.callee = customers.phonenumber OR phone_call_log.caller = customers.phonenumber ) WHERE customers.phonenumber IS NOT NULL AND length(customers.phonenumber) &gt; 6 AND customers.phonenumber &gt; 1000000; </pre></p>
P粉885562567
P粉885562567

membalas semua(2)
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!