java - 如何使用scriptlet提高从oracle 10g到jsp页面的数据传输速度

标签 java jsp oracle10g

我已经将我的 jsp 页面与自动建议功能合并在一起,为了使自动建议发挥作用,它必须使用 scriplet 创建一个要建议的数据数组。

我的问题是,当我从oracle 10G导入数据时,完成数据导入到页面的时间约为20-40秒。

因此,有什么方法可以提高数据传输速度,我已经尝试过索引方法,但它确实有助于节省时间,而且表中的数据量约为 6K 。

oracle高手可以建议一下解决这个问题的方法吗..呵呵=D

这是我的程序示例:-

我的 autosuggest.java 中的函数,用于检索和过滤我的数据库中的数据。

    public List getVendorName() throws Exception
{
    List temp=null; 
    Database db=null;
    String tempVar, tempVar2;
    boolean tempVar3, tempVar4;
    int counter=0;
    try {
        db = PersistenceHelper.beginTransaction();
        JDOQuery queryFund = new JDOQuery(db,Trader.class);
        queryFund.setFilter(PersistenceHelper.getOrganizationFilter("organization"));
        temp = new ArrayList();
        QueryResults results = queryFund.execute();
        while(results.hasMore())
        {
            Trader trader   = (Trader) results.next();
            tempVar     = "\""+trader.getName()+"\"";
            tempVar2    = trader.getTraderType();
            tempVar3    = trader.getRegTraderStatus();
            tempVar4    = trader.getMainTraderStatus();
            if(!tempVar2.equalsIgnoreCase("c"))
            {
                if( (tempVar3 == true) && (tempVar4 == true))
                {
                    tempVar     = tempVar.replace("\n", "");
                    temp.add(counter,tempVar); counter++;               
                }
            }           
        }
    } 
    catch (Exception e) {
        System.out.println(e);
    }       
    finally{
        PersistenceHelper.closeTransaction(db, false);
    }
    return temp;
}

在我的jsp页面中运行。从 autosuggest.java 检索数据;

    function getVendorName()
{
    var temp = new Array();
    <%
        AutoSuggest as = new AutoSuggest();
        List tempList = as.getVendorName();
        for(int i=0; i<tempList.size(); i++)
        {
            Strinmg tempVar  = (String) tempList.get(i);
            %> temp[<%=i%>] = <%=tempVar%>; <%
        }
    %>
    return temp;
}

最佳答案

首先要尝试的是在数据库查询中按交易者类型和状态进行过滤……而不是在 Java 端。您当前执行此操作的方式将需要从数据库中提取大量 Trader 对象。我预计它们中的大多数都会被您的 Java 代码丢弃。

关于java - 如何使用scriptlet提高从oracle 10g到jsp页面的数据传输速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4789475/

相关文章:

java - 为什么 FileInputStream read() 方法错误地读取问号(ascii : 63) when put into infinite loop?

javascript - 从 api 调用获取值

java - mysql jdbc 字段列表中的未知列 'startdate'

java - 需要从 JSP 传递值

java - java 二维数组升序冒泡排序

java - Android 中的字符计数

java - 将空字符串解析为 SimpleDateFormat

sql - 如何使用oracle数据库日期表获取最小日期

plsql - pl/sql 代码添加两行

SQL删除表中的重复项