joshtheflame Report post Posted January 25, 2010 (edited) 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 Edited January 25, 2010 by Guest Share this post Link to post Share on other sites
Guest Basundhara Ghosal Report post Posted April 20, 2010 Hi, Could you please try setting the attribute "animation" of the <chart> element to '0'. Hope this helps. Share this post Link to post Share on other sites