我现在做一个类似股票软件的东西 
需求是这样的 其他系统每秒钟往数据库插入一条数据
我要每秒钟用select top 1 * from表格实时查询他刚插入的数据,并加载到页面上
比如那个系统10点11分25秒往数据库插入一条数据,我要在10点11分25秒取出那条数据到jsp页面
我是这么做的,Jsp发送request请求到servlet,serlert查询数据库,并将查到的值返回给jspjsp设置时间函数,每秒访问一次servlet.
这么做我有2个困惑,第一,我每秒访问一次servlet,servlet都要new出一个查询书库库的连接然后立即关闭,如果10000万用户同时访问,那么一秒钟要立即建立10000万个连接啊
第二 其他系统实时差插入数据库的记录,我不是每条都能实时抓取到,100条,我用select top 1* from biaoge order by desc只能实时抓取到70到90之间,部分数据抓取不到,纠结啊,求助

解决方案 »

  1.   

    第一,servlet里面可以使用单例或者连接池的办法控制new的对象的个数;二我感觉在其他系统插入时,想办法获取让获取到插入的信息的唯一性标识,例如ID,然后根据ID去从数据库中查找,这样也许会好点
      

  2.   

    如果所有的请求,都是请求相同的:select top 1 * from 表格那么可以在内存中用定时任务来执行这个查询,并将结果保留在内存中。Servlet只需要将内存中的这个数据返回给客户端就行了,性能很高。如果不是相同表格,但规模可控的话(比如100个),也推荐这么做。