как увеличить скорость передачи данных из оракула 10g на страницы JSP с помощью Scriplet - PullRequest
0 голосов
/ 25 января 2011

Я включил свои jsp-страницы с функциями автозаполнения, и для того, чтобы функция автозаполнения работала, он должен создать массив данных, предлагаемых с использованием scriplet.Данные из Oracle 10G, время завершения импорта данных на страницы, составляет около 20-40 секунд.

Следовательно, есть ли способ увеличить скорость передачи данных, я уже пробовал метод индексации, но он помогает со временем, и количество данных в таблице составляет около 6K.

Может оракул Pro, предложить любые способы решения этой проблемы .. хе-хе = 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;
}

1 Ответ

1 голос
/ 25 января 2011

Первое, что нужно попробовать, это выполнить фильтрацию по типу и статусу трейдера в запросе к базе данных ... скорее на стороне Java. То, как вы в настоящее время делаете это, повлечет за собой извлечение большого количества Trader объектов из базы данных. Я ожидаю, что большинство из них затем удаляются вашим Java-кодом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...