当前位置: 代码迷 >> J2EE >> 怎么提高访问一个事务返回数据的速度
  详细解决方案

怎么提高访问一个事务返回数据的速度

热度:107   发布时间:2016-04-17 23:21:41.0
如何提高访问一个事务返回数据的速度
可能说的不太标准
大家能理解就行

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.如果是程序判断问题,也是找出问题所在点进行优化即可,

(数据量多大啊?  是用连接池吗? 硬件,网络有没有影响? 等等..)
  相关解决方案