可能说的不太标准
大家能理解就行
select t1.*, bc1.*
from (select t.id,
t.collection_barcode,
t.lend_date,
t.return_date,
t.renew_count,
t.status
from reader_lend_record t
where school_id = 483
and reader_barcode = 07011920) t1,
(select c1.*, b1.*
from (select c.biblio_temp_id,
c.barcode,
c.collection_place_id,
c.book_circulate_type_id,
c.call_no,
c.single_price
from collection c
where school_id = 483) c1,
(select b.id bib_tmp_id, b.title
from biblio_temp b
where school_id = 483) b1
where b1.bib_tmp_id = c1.biblio_temp_id) bc1
where bc1.barcode = t1.collection_barcode
and t1.status = 2
这是SQL
页面如下

输入卡号后返回数据要等2-3秒
客户的要求是秒回
------解决思路----------------------
这种问题最可能的就是你表没有做索引,或者做了没有走。
你先确定走了索引。
------解决思路----------------------
你的客户也太逗了吧,秒回?
------解决思路----------------------
1.确定响应时间久,只要是用于sql执行,还是程序判断.
2.如果是sql执行问题,则主要是sql优化. sql优化必须具体问题具体分析,但是也有一些大的方向. 例如分区,索引,表连接顺序,条件顺序等.可以看看执行计划.
3.如果是程序判断问题,也是找出问题所在点进行优化即可,
(数据量多大啊? 是用连接池吗? 硬件,网络有没有影响? 等等..)