joshtheflame

Members
  • Content count

    5
  • Joined

  • Last visited

Posts posted by joshtheflame


  1. Dear Experts,

     

     

     

    I am developing an application for telecom industry actually its a business intelligence tool in evaluation version. I am dealing with billions of records so therefore I made summary tables and fetching records from there.

     

     

     

    Currently I followed "COMBINING FUSION CHARTS, ASP.NET & JAVASCRIPT (dataXML) method" from the help and populate months chart. when you click on any month it shows another chart below and populate all the operators summary of that particular month.

     

     

     

    But I am afraid its a very slow process as the blow mentioned code

     

     

     

    [script language=javascript" type="text/javascript]

     

    //Here, we use a mix of server side script (C#) and JavaScript to

     

    //render our data for factory chart in JavaScript variables. We'll later

     

    //utilize this data to dynamically plot charts.

     

     

     

    //All our data is stored in the data array. From C#, we iterate through

     

    //each recordset of data and then store it as nested arrays in this data array.

     

    [var data = new Array();]

     

     

     

    //Write the data as JavaScript variables here

     

    [<%=GetScript()%> ;]

     

    []

     

     

     

     

     

    Code behind

     

    -----------------

     

    
    public string GetScript()
    
    {
    
    
    
       //Here, we generate the JavaScript array code for the factory data.
    
       //String to store JavaScript variables
    
       StringBuilder jsVarString = new StringBuilder();
    
    
    
       //Generate SQL querystring to get all months
    
       string monthsQuery = "select distinct months, replace(to_char(to_date('01'||months||'2010','DD-MON-YYYY'),'MM'),0,null)  from vw_pre_probe_summary";
    
    
    
       //Sets JavaScript Array Index
    
       int indexCount = 0;
    
    
    
       //Establish Database Connection
    
       Database db = DatabaseFactory.CreateDatabase();
    
    
    
       //Create Command object
    
       DbCommand cmd = db.GetSqlStringCommand(monthsQuery);
    
    
    
       //Execute command and read data in a DataSet
    
       IDataReader idr = db.ExecuteReader(cmd);
    
    
    
       while (idr.Read())
    
       {
    
          //Iterate through each record
    
          indexCount++;
    
    
    
          //Build JavaScript : Create a new JavaScript Array
    
          jsVarString.AppendFormat("tt data[{0}] = new Array();", idr[1]);
    
          jsVarString.Append(Environment.NewLine);
    
    
    
           //Create an SQL Query for the current month
    
    
    
          string detailsql = "select a.years, a.ldi_cd, a.months, b.operator_name, round(sum(a.cer_dur)/60) from vw_pre_probe_summary a, ldioperators b where a.months = " + "'" + idr[0] + "'" + " and a.ldi_cd = b.ldi_cd group by a.years, a.months, a.ldi_cd, b.operator_name";
    
    
    
           //Create Command object
    
           DbCommand cmdDetail = db.GetSqlStringCommand(detailsql);
    
    
    
           //Execute command and read data in a DataSet
    
           IDataReader idrDetail = db.ExecuteReader(cmdDetail);
    
    
    
           //Iterate Through records
    
           while (idrDetail.Read())
    
           {
    
               //Build JavaScript : Push Operators Data into JavaScript Array
    
               jsVarString.AppendFormat("tt data[{0}].push(new Array('{1}',{2}));", idr[1], idrDetail[3], idrDetail[4]);
    
               jsVarString.Append(Environment.NewLine);
    
           }
    
       }
    
       //Returns JavaScript variables
    
       return jsVarString.ToString();
    
    }
    
    
    
    

     

     

     

     

     

    loading the whole XML in memory when the page executes and taking the page come up after such a long time. If I follow the above method and If I have 8 to 9 details drill downs I believe I need to query them first will be dead slow....So my question is that if I need to develop quick charts and if I am dealing with billions of records which approach is THE BEST in context of "Efficiency", Speed and performance of the whole application.

     

     

     

    Please guide accordingly ..

     

     

     

    Thanks