Same table, Oracle 5 times slower than MySQL

Hi
I have several sites with the same aplication using a database as a log device and to later retrieve reports from. Some tables are for setup and one are for all the log data. The log data table has the following columns: LINEID, TAG, DATE_, HOUR_, VALUE, TIME_ and CHANGED. Typical data is: 122345, PA01_FT1_ACC, 2008-08-01, 10, 985642, "", 0.
Index (TAG,DATE_)
When calling a report the software querys for typical 3-5 select querys like the following, only different TAG: SELECT * FROM table WHERE TAG='PA01_FT1_ACC' AND DATE_ BETWEEN '2008-08-01' AND '2008-08-31' AND HOUR_=24
Since our customers have different preferences some sites have Oracle and some have MySQL. And I have registered that the sites running Oracle uses 24-30 sec on the report, MySQL uses 3-6 sec on a similar report with the same tables and querying software.
How is this?
Is there anything I can do to make Oracle work faster?
Should HOUR_ also be in the index?
Since I guess this slowness is not something consistant in Oracle, there must be something to do.
Thanks for any help.

Histograms on varchar2 columns are based on the
first 6 bytes of the column. If the database is using
a character set that uses 1 byte per character, every
entry in the DATE_ column since the beginning of the
year looks like '2008-0' to the optimizer when
determining cardinality to produce the "best"
execution plan. For character sets that require
multiple bytes per character, the situation is worse
- every entry in the column representing this century
appears to be the same value to the optimizer when
determining cardinality
That's a very good point and I didnt know about it
before, about first 6 bytes being used. Can you point
me in the docs where it is listed if its there or
some other document/s which has this detail?Aman,
I am having a bit of trouble finding the information in the documentation about the number of bytes used by a histogram on a VARCHAR2 column.
References:
http://www.freelists.org/archives/oracle-l/08-2006/msg00199.html
"Cost-Based Oracle Fundamentals" page 117 shows a demonstration, and describes the use of ENDPOINT_ACTUAL_VALUE starting on Oracle 9i.
"Cost-Based Oracle Fundamentals" page 118-120 describes selectivity problems when histograms are not used and a date is placed into a VARCHAR2 column.
"Troubleshooting Oracle Performance", likely around page 130-140 also indicates that histograms only use the first 6 bytes.
See section "Followup November 12, 2005 - 4pm US/Eastern"
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:707586567563
An interesting test setup that almost shows what I intended - but Oracle 10.2.0.2 was a little smarter than I expected, even though it selected to use an index to retrieve more than 50% of a table... Take a look at the TO_CHAR representation of the ENDPOINT_VALUE from DBA_TAB_HISTOGRAMS to understand what I was trying to decribe in my original post in this thread.
CREATE TABLE T1 (DATE_ VARCHAR2(10));
INSERT INTO T1
SELECT
  TO_CHAR(TO_DATE('2008-01-01','YYYY-MM-DD')+ROWNUM-1,'YYYY-MM-DD')
FROM
  DUAL
CONNECT BY
  LEVEL<=250;
250 rows created.
COMMIT;
CREATE INDEX IND_T1 ON T1(DATE_);
SELECT
  MIN(DATE_),
  MAX(DATE_)
FROM
  T1;
MIN(DATE_) MAX(DATE_)
2008-01-01 2008-09-06
SELECT
  COLUMN_NAME,
  NUM_DISTINCT,
  NUM_BUCKETS,
  HISTOGRAM
FROM
  DBA_TAB_COL_STATISTICS
WHERE
  OWNER=USER
  AND TABLE_NAME='T1';
no rows selected
SELECT
  SUBSTR(COLUMN_NAME,1,10) COLUMN_NAME,
  ENDPOINT_NUMBER,
  ENDPOINT_VALUE,
  SUBSTR(ENDPOINT_ACTUAL_VALUE,1,10) ENDPOINT_ACTUAL_VALUE
FROM
  DBA_TAB_HISTOGRAMS
WHERE
  OWNER=USER
  AND TABLE_NAME='T1';
no rows selected
EXEC DBMS_STATS.GATHER_TABLE_STATS(OWNNAME=>USER,TABNAME=>'T1',METHOD_OPT=>'FOR COLUMNS SIZE 254 DATE_',CASCADE=>TRUE);
PL/SQL procedure successfully completed.
SELECT
  COLUMN_NAME,
  NUM_DISTINCT,
  NUM_BUCKETS,
  HISTOGRAM
FROM
  DBA_TAB_COL_STATISTICS
WHERE
  OWNER=USER
  AND TABLE_NAME='T1';
COLUMN_NAME                    NUM_DISTINCT NUM_BUCKETS HISTOGRAM
DATE_                                   250         250 HEIGHT BALANCED
SELECT
  SUBSTR(COLUMN_NAME,1,10) COLUMN_NAME,
  ENDPOINT_NUMBER,
  ENDPOINT_VALUE,
  SUBSTR(ENDPOINT_ACTUAL_VALUE,1,10) ENDPOINT_ACTUAL_VALUE
FROM
  DBA_TAB_HISTOGRAMS
WHERE
  OWNER=USER
  AND TABLE_NAME='T1'
ORDER BY
  ENDPOINT_NUMBER;
COLUMN_NAM ENDPOINT_NUMBER ENDPOINT_VALUE ENDPOINT_A
DATE_                    1     2.6059E+35 2008-01-01
DATE_                    2     2.6059E+35 2008-01-02
DATE_                    3     2.6059E+35 2008-01-03
DATE_                    4     2.6059E+35 2008-01-04
DATE_                    5     2.6059E+35 2008-01-05
DATE_                    6     2.6059E+35 2008-01-06
DATE_                    7     2.6059E+35 2008-01-07
DATE_                    8     2.6059E+35 2008-01-08
DATE_                    9     2.6059E+35 2008-01-09
DATE_                   10     2.6059E+35 2008-01-10
DATE_                  243     2.6059E+35 2008-08-30
DATE_                  244     2.6059E+35 2008-08-31
DATE_                  245     2.6059E+35 2008-09-01
DATE_                  246     2.6059E+35 2008-09-02
DATE_                  247     2.6059E+35 2008-09-03
DATE_                  248     2.6059E+35 2008-09-04
DATE_                  249     2.6059E+35 2008-09-05
DATE_                  250     2.6059E+35 2008-09-06
ALTER SESSION SET EVENTS '10053 TRACE NAME CONTEXT FOREVER, LEVEL 1';
SELECT
  DATE_
FROM
  T1
WHERE
  DATE_<='2008-01-15';
15 rows selected.
From the 10053 trace:
BASE STATISTICAL INFORMATION
Table Stats::
  Table: T1  Alias: T1
    #Rows: 250  #Blks:  5  AvgRowLen:  11.00
Index Stats::
  Index: IND_T1  Col#: 1
    LVLS: 0  #LB: 1  #DK: 250  LB/K: 1.00  DB/K: 1.00  CLUF: 1.00
SINGLE TABLE ACCESS PATH
  Column (#1): DATE_(VARCHAR2)
    AvgLen: 11.00 NDV: 250 Nulls: 0 Density: 0.002
    Histogram: HtBal  #Bkts: 250  UncompBkts: 250  EndPtVals: 250
  Table: T1  Alias: T1    
    Card: Original: 250  Rounded: 15  Computed: 15.00  Non Adjusted: 15.00
  Access Path: TableScan
    Cost:  3.01  Resp: 3.01  Degree: 0
      Cost_io: 3.00  Cost_cpu: 85607
      Resp_io: 3.00  Resp_cpu: 85607
  Access Path: index (index (FFS))
    Index: IND_T1
    resc_io: 2.00  resc_cpu: 49621
    ix_sel: 0.0000e+000  ix_sel_with_filters: 1
  Access Path: index (FFS)
    Cost:  2.00  Resp: 2.00  Degree: 1
      Cost_io: 2.00  Cost_cpu: 49621
      Resp_io: 2.00  Resp_cpu: 49621
  Access Path: index (IndexOnly)
    Index: IND_T1
    resc_io: 1.00  resc_cpu: 10121
    ix_sel: 0.06  ix_sel_with_filters: 0.06
    Cost: 1.00  Resp: 1.00  Degree: 1
  Best:: AccessPath: IndexRange  Index: IND_T1
         Cost: 1.00  Degree: 1  Resp: 1.00  Card: 15.00  Bytes: 0
============
Plan Table
============
| Id  | Operation         | Name    | Rows  | Bytes | Cost  | Time      |
| 0   | SELECT STATEMENT  |         |       |       |     1 |           |
| 1   |  INDEX RANGE SCAN | IND_T1  |    15 |   165 |     1 |  00:00:01 |
Predicate Information:
1 - access("DATE_"<='2008-01-15')
INSERT INTO T1
SELECT
  TO_CHAR(TO_DATE('2008-09-07','YYYY-MM-DD')+ROWNUM-1,'YYYY-MM-DD')
FROM
  DUAL
CONNECT BY
  LEVEL<=250;
COMMIT;
EXEC DBMS_STATS.GATHER_TABLE_STATS(OWNNAME=>USER,TABNAME=>'T1',METHOD_OPT=>'FOR COLUMNS SIZE 254 DATE_',CASCADE=>TRUE);
PL/SQL procedure successfully completed.
SELECT
  COLUMN_NAME,
  NUM_DISTINCT,
  NUM_BUCKETS,
  HISTOGRAM
FROM
  DBA_TAB_COL_STATISTICS
WHERE
  OWNER=USER
  AND TABLE_NAME='T1';
COLUMN_NAME                    NUM_DISTINCT NUM_BUCKETS HISTOGRAM
DATE_                                   500         254 HEIGHT BALANCED
SELECT
  SUBSTR(COLUMN_NAME,1,10) COLUMN_NAME,
  ENDPOINT_NUMBER,
  TO_CHAR(ENDPOINT_VALUE) ENDPOINT_VALUE,
  SUBSTR(ENDPOINT_ACTUAL_VALUE,1,10) ENDPOINT_ACTUAL_VALUE
FROM
  DBA_TAB_HISTOGRAMS
WHERE
  OWNER=USER
  AND TABLE_NAME='T1'
ORDER BY
  ENDPOINT_NUMBER;
COLUMN_NAM ENDPOINT_NUMBER ENDPOINT_VALUE                           ENDPOINT_A
DATE_                    0 260592218925307000000000000000000000     2008-01-01
DATE_                    1 260592218925307000000000000000000000     2008-01-02
DATE_                    2 260592218925307000000000000000000000     2008-01-04
DATE_                    3 260592218925307000000000000000000000     2008-01-06
DATE_                    4 260592218925307000000000000000000000     2008-01-08
DATE_                    5 260592218925307000000000000000000000     2008-01-10
DATE_                    6 260592218925307000000000000000000000     2008-01-12
DATE_                    7 260592218925307000000000000000000000     2008-01-14
DATE_                    8 260592218925307000000000000000000000     2008-01-16
DATE_                    9 260592218925307000000000000000000000     2008-01-18
DATE_                   10 260592218925307000000000000000000000     2008-01-20
DATE_                  242 260592219234792000000000000000000000     2009-04-26
DATE_                  243 260592219234792000000000000000000000     2009-04-28
DATE_                  244 260592219234792000000000000000000000     2009-04-29
DATE_                  245 260592219234792000000000000000000000     2009-05-01
DATE_                  246 260592219234792000000000000000000000     2009-05-02
DATE_                  247 260592219234792000000000000000000000     2009-05-04
DATE_                  248 260592219234792000000000000000000000     2009-05-05
DATE_                  249 260592219234792000000000000000000000     2009-05-07
DATE_                  250 260592219234792000000000000000000000     2009-05-08
DATE_                  251 260592219234792000000000000000000000     2009-05-10
DATE_                  252 260592219234792000000000000000000000     2009-05-11
DATE_                  253 260592219234792000000000000000000000     2009-05-13
DATE_                  254 260592219234792000000000000000000000     2009-05-14
SELECT
  DATE_
FROM
  T1
WHERE
  DATE_ BETWEEN '2008-01-15' AND '2008-09-15';
245 rows selected.
From the 10053 trace:
BASE STATISTICAL INFORMATION
Table Stats::
  Table: T1  Alias: T1
    #Rows: 500  #Blks:  5  AvgRowLen:  11.00
Index Stats::
  Index: IND_T1  Col#: 1
    LVLS: 1  #LB: 2  #DK: 500  LB/K: 1.00  DB/K: 1.00  CLUF: 2.00
SINGLE TABLE ACCESS PATH
  Column (#1): DATE_(VARCHAR2)
    AvgLen: 11.00 NDV: 500 Nulls: 0 Density: 0.002
    Histogram: HtBal  #Bkts: 254  UncompBkts: 254  EndPtVals: 255
  Table: T1  Alias: T1    
    Card: Original: 500  Rounded: 240  Computed: 240.16  Non Adjusted: 240.16
  Access Path: TableScan
    Cost:  3.01  Resp: 3.01  Degree: 0
      Cost_io: 3.00  Cost_cpu: 148353
      Resp_io: 3.00  Resp_cpu: 148353
  Access Path: index (index (FFS))
    Index: IND_T1
    resc_io: 2.00  resc_cpu: 111989
    ix_sel: 0.0000e+000  ix_sel_with_filters: 1
  Access Path: index (FFS)
    Cost:  2.01  Resp: 2.01  Degree: 1
      Cost_io: 2.00  Cost_cpu: 111989
      Resp_io: 2.00  Resp_cpu: 111989
  Access Path: index (IndexOnly)
    Index: IND_T1
    resc_io: 2.00  resc_cpu: 62443
    ix_sel: 0.48031  ix_sel_with_filters: 0.48031
    Cost: 2.00  Resp: 2.00  Degree: 1
  Best:: AccessPath: IndexRange  Index: IND_T1
         Cost: 2.00  Degree: 1  Resp: 2.00  Card: 240.16  Bytes: 0
============
Plan Table
============
| Id  | Operation         | Name    | Rows  | Bytes | Cost  | Time      |
| 0   | SELECT STATEMENT  |         |       |       |     2 |           |
| 1   |  INDEX RANGE SCAN | IND_T1  |   240 |  2640 |     2 |  00:00:01 |
Predicate Information:
1 - access("DATE_">='2008-01-15' AND "DATE_"<='2008-09-15')I am sure that there are much better examples than the above, as the above generates a very small data set, and is still an incomplete test setup.
Charles Hooper
IT Manager/Oracle DBA
K&M Machine-Fabricating, Inc.

Similar Messages

  • Why is Firefox about 5 times slower than chrome on same tablet?

    Hei, I love the idea behind firefox, but as mobile browser it feels very slow.
    Using the zimbra ajax email client, firefox mobile on a powerfull sony xperia tablet z takes 25s to start up, and even then, usage is laggy. Chrome on the same device starts in 5s and works smooth.
    About the same results I get with http://tagesschau.de firefox mobile takes several seconds to display the page readably, while chrome gives the wanted results immediately. I even deleted all history and private stuff, and don't use any addons in firefox, as I read at your help pages, but firefox feels far behind in usability compared to chrome.
    Best regards,
    Heiko

    Are these numbers pertaining to the first request only. Actually there has been quite a lot of changes in classloader and jasper compiler etc,. in sp4. Infact sp4 is proved to be much faster than earlier versions (Though I donot have exact figures with me, sp4 is faster than sp1). But some times it also depends on the settings like the debug level, type of session(lite or distributed) etc. At this time, as you are using only the defualt set up, I suggest you to try with other samples and verify is sp4 really 7-10 times slower than sp1. And then come up to a conclusion.
    After having tested with multiple samples, with the "same parameters" on both the service packs, Still if you feel sp1 is faster or any further queries please get back to the forum. Please provide information about your settings also, so that I can investigate.
    Thanks,
    Rakesh.

  • Why is the download/upload speed so slow on my MBA (about 5 times slower than my PC)?

    Why is the download/upload speed so slow on my MBA (about 5 times slower than my PC)?

    Are you on band 13 or band 4?  13 is the original LTE band and remains relatively congested. Band 4 is the XLTE band and is less congested and has higher overall potential bandwidth (15 MHz vs 10 MHz). Even so, 7 Mbps is more than enough for doing stuff on your phone and is not considered slow. 
    To check band,
    dial *3001#12345#*
    select serving cell info
    frequency band will say 13 or 4
    FInd an area with band 4 and retest. 

  • "localStorage.setItem" is 1000 times slower than in IE,Opera,Chrome.Is it normal?

    Hi.
    If you try to open this HTML page in Firefox 3.6.8, Firefox is 1000 times slower than IE 8,Opera 10 and Chrome. I cannot believe that localStorage.setItem is so slow in Firefox.
    Is there a solution ?
    Thanks in advance
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Storage test</title>
    </head>
    <body>
    <script type="text/javascript">
    var TestValue = "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890";
    for (var i = 0; i < 1000; i++) {
    localStorage.setItem(i, TestValue);
    </script>
    </body>
    </html>

    Hi.
    If you try to open this HTML page in Firefox 3.6.8, Firefox is 1000 times slower than IE 8,Opera 10 and Chrome. I cannot believe that localStorage.setItem is so slow in Firefox.
    Is there a solution ?
    Thanks in advance
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Storage test</title>
    </head>
    <body>
    <script type="text/javascript">
    var TestValue = "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890";
    for (var i = 0; i < 1000; i++) {
    localStorage.setItem(i, TestValue);
    </script>
    </body>
    </html>

  • PreparedStatement is About 60 times slower than Statements

    I am highly suprised that in my programme a normal statement is a lot faster than a Prepared Statement. I am posting below both the Programmes, in one I am using Prepared Statements and in another I am using normal Statements. My OS is Win NT My Database is SQL Server 7. THe progamme extracts data from a file and inserts records in the database. In the test case I had A file of about 1440 records ie. 1440 inserts are made to the database, The database table is very large ie. It has around 126 Columns.
    So for inserting 1440 record froma file the Prepared Statements take around 7 Minutes . And for reading the same file and inserting the same no of records in the same database normal Statements Take only about 7 seconds. Now the JAcva docs clearly Specify that when we need to use the same stmt many times it is better to use Prepared Satements < the results that I am Getting is clear and complete violation of what java docs say.
    Here is the code with Prepared Statements
    package mps.mpsPTLF;
    import java.io.*;
    import java.sql.*;
    import java.util.*;
    import java.util.Calendar;
    import java.util.Date;
    import gen.genCommon.genConnectionPool.*;
    import gen.genCommon.*;
    public class PTLFProcessor
         private static clsLogFile moLogFile = new clsLogFile("");
         private gen.genCommon.genConnectionPool.SharedConnectionPool mConnPool = SharedConnectionPool.getInstance(2);
         FileReader fPTLF = null;
         BufferedReader brPTLF = null;
    //**************** Begin Constructor declaration ************************
    To intialize the class variables for new Fee
         public PTLFProcessor(String pathPTLF) throws GenException
              try
                   fPTLF = new FileReader(pathPTLF);
                   brPTLF = new BufferedReader(fPTLF);
              catch (Exception e)
                   throw new GenException("Error Accessing file : " + pathPTLF + " - " + e.toString(),e );     
    //**************** End  Constructor declaration ************************
         public void PTLFGetData() throws GenException
              char pcData[];
              int HEADERSIZE = 6;
              boolean pbEndOfFile = false;
              boolean pbisFirstBlock = true;
              int piBlocksize = 0;
              int piOffset = 0;
              int piRecordsize = 0;
              String psRecordContent = "";
              Connection pConn = null;
              try
                   String psInsSql=" INSERT INTO FILE_PTLF_IN ( " +
                                       " fpi_DAT_TIM , " +
                                       " fpi_REC_TYP , " +
                                       " fpi_CRD_LN , " +
                                       " fpi_CRD_FIID , " +
                                       " fpi_CRD_NUM , " +
                                       " fpi_MBR_NUM , " +
                                       " fpi_MER_LN , " +
                                       " fpi_MER_FIID , " +
                                       " fpi_MER_GRP , " +
                                       " fpi_MER_REGN , " +
                                       " fpi_MER_ID , " +
                                       " fpi_TERM_ID , " +
                                       " fpi_SHIFT_NUM , " +
                                       " fpi_BATCH_NUM , " +
                                       " fpi_TERM_LN , " +
                                       " fpi_TERM_FIID , " +
                                       " fpi_TERM_ID_1 , " +
                                       " fpi_TRAN , " +
                                       " fpi_TERM_ID_2 , " +
                                       " fpi_REC_FRMT , " +
                                       " fpi_MER_ID_1 , " +
                                       " fpi_CLERK_ID , " +
                                       " fpi_DATA_FLAG , " +
                                       " fpi_TYP , " +
                                       " fpi_RTE_STAT , " +
                                       " fpi_ORIGINATOR , " +
                                       " fpi_RESPONDER , " +
                                       " fpi_ISS_CDE , " +
                                       " fpi_ENTRY_TIM , " +
                                       " fpi_EXIT_TIM , " +
                                       " fpi_RE_ENTRY_TIM , " +
                                       " fpi_TRAN_DAT , " +
                                       " fpi_TRAN_TIM , " +
                                       " fpi_POST_DAT , " +
                                       " fpi_ACQ_ICHG_SETL_DAT , " +
                                       " fpi_ISS_ICHG_SETL_DAT , " +
                                       " fpi_SEQ_NUM , " +
                                       " fpi_TERM_NAME_LOC , " +
                                       " fpi_TERM_OWNER_NAME , " +
                                       " fpi_TERM_CITY , " +
                                       " fpi_TERM_ST , " +
                                       " fpi_TERM_CNTRY_CDE , " +
                                       " fpi_BRCH_ID , " +
                                       " fpi_USER_FLD2 , " +
                                       " fpi_TERM_TIM_OFST , " +
                                       " fpi_ACQ_INST_ID_NUM , " +
                                       " fpi_RCV_INST_ID_NUM , " +
                                       " fpi_TERM_TYP , " +
                                       " fpi_CLERK_ID_1 , " +
                                       " fpi_GRP , " +
                                       " fpi_USER_ID , " +
                                       " fpi_RETL_SIC_CDE , " +
                                       " fpi_ORIG , " +
                                       " fpi_DEST , " +
                                       " fpi_TC , " +
                                       " fpi_T , " +
                                       " fpi_AA , " +
                                       " fpi_C , " +
                                       " fpi_CRD_TYP , " +
                                       " fpi_ACCT , " +
                                       " fpi_RESP_CDE , " +
                                       " fpi_AMT_1 , " +
                                       " fpi_AMT_2 , " +
                                       " fpi_EXP_DAT , " +
                                       " fpi_TRACK2 , " +
                                       " fpi_PIN_OFST , " +
                                       " fpi_PRE_AUTH_SEQ_NUM , " +
                                       " fpi_INVOICE_NUM , " +
                                       " fpi_ORIG_INVOICE_NUM , " +
                                       " fpi_AUTHORIZER , " +
                                       " fpi_AUTH_IND , " +
                                       " fpi_SHIFT_NUM_1 , " +
                                       " fpi_BATCH_SEQ_NUM , " +
                                       " fpi_APPRV_CDE , " +
                                       " fpi_APPRV_CDE_LGTH , " +
                                       " fpi_ICHG_RESP , " +
                                       " fpi_PSEUDO_TERM_ID , " +
                                       " fpi_RFRL_PHONE , " +
                                       " fpi_DFT_CAPTURE_FLG , " +
                                       " fpi_SETL_FLAG , " +
                                       " fpi_RVRL_CDE , " +
                                       " fpi_REA_FOR_CHRGBCK , " +
                                       " fpi_NUM_OF_CHRGBCK , " +
                                       " fpi_PT_SRV_COND_CDE , " +
                                       " fpi_PT_SRV_ENTRY_MDE , " +
                                       " fpi_AUTH_IND2 , " +
                                       " fpi_ORIG_CRNCY_CDE , " +
                                       " fpi_AUTH_CRNCY_CDE , " +
                                       " fpi_AUTH_CONV_RATE , " +
                                       " fpi_SETL_CRNCY_CDE , " +
                                       " fpi_SETL_CONV_RATE , " +
                                       " fpi_CONV_DAT_TIM , " +
                                       " fpi_IMP_IND , " +
                                       " fpi_AVAIL_BAL , " +
                                       " fpi_LEDG_BAL , " +
                                       " fpi_AMT_ON_HOLD , " +
                                       " fpi_TTL_FLOAT , " +
                                       " fpi_CUR_FLOAT , " +
                                       " fpi_ADJ_SETL_IMPACT_FLG , " +
                                       " fpi_PBF1 , " +
                                       " fpi_PBF2 , " +
                                       " fpi_PBF3 , " +
                                       " fpi_PBF4 , " +
                                       " fpi_FRWD_INST_ID_NUM , " +
                                       " fpi_CRD_ACCPT_ID_NUM , " +
                                       " fpi_CRD_ISS_ID_NUM , " +
                                       " fpi_ORIG_MSG_TYP , " +
                                       " fpi_ORIG_TRAN_TIM , " +
                                       " fpi_ORIG_TRAN_DAT , " +
                                       " fpi_ORIG_SEQ_NUM , " +
                                       " fpi_ORIG_B24_POST_DAT , " +
                                       " fpi_EXCP_RSN_CDE , " +
                                       " fpi_OVRRDE_FLG , " +
                                       " fpi_ADDR , " +
                                       " fpi_ZIP_CDE , " +
                                       " fpi_ADDR_VRFY_STAT , " +
                                       " fpi_PIN_IND , " +
                                       " fpi_PIN_TRIES , " +
                                       " fpi_PRE_AUTH_TS_DAT , " +
                                       " fpi_PRE_AUTH_TS_TIM , " +
                                       " fpi_PRE_AUTH_HLDS_LVL , " +
                                       " fpi_USER_FLD5 , " +
                                       " fpi_LEN , " +
                                       " fpi_INFO )" +
                                       " VALUES ( " +
                                       " ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, " +
                                       " ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, " +
                                       " ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, " +
                                       " ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, " +
                   pConn = mConnPool.getConnection();
                   PreparedStatement pStmt = pConn.prepareStatement(psInsSql);
                   while (!pbEndOfFile)
                        pcData = new char [HEADERSIZE];                    // Reading each Block Header
                        brPTLF.read (pcData, 0, HEADERSIZE);
                        piBlocksize = Integer.parseInt (new String (pcData));
                        piOffset = HEADERSIZE;
                        while (piOffset < piBlocksize)
                        {                      // Read the records upto end of block
                             pcData = new char [HEADERSIZE];               // Reading each Record Header
                             brPTLF.read (pcData, 0, HEADERSIZE);
                             piRecordsize = Integer.parseInt (new String (pcData));
                             piOffset += HEADERSIZE;
                             pcData = new char [piRecordsize - HEADERSIZE];     // Reading each Record Content
                             brPTLF.read (pcData, 0, piRecordsize - HEADERSIZE);
                             psRecordContent = new String (pcData);
                             piOffset += piRecordsize - HEADERSIZE;
                             moLogFile.writeToLog(psRecordContent);
                             if (pbisFirstBlock)
                                  if (!psRecordContent.startsWith ("TH"))
                                       throw new GenException ("Invalid File Format, missing 'TH'");
                                  pcData = new char [HEADERSIZE];          // Reading next Record Header
                                  brPTLF.read (pcData, 0, HEADERSIZE);
                                  piRecordsize = Integer.parseInt (new String (pcData));
                                  piOffset += HEADERSIZE;
                                  pcData = new char [piRecordsize - HEADERSIZE];// Reading next Record Content (Must be FH)
                                  brPTLF.read (pcData, 0, piRecordsize - HEADERSIZE);
                                  psRecordContent = new String (pcData);
                                  piOffset += piRecordsize - HEADERSIZE;
                                  if (!psRecordContent.startsWith ("FH"))
                                       throw new GenException ("File Header Not Found");
                                  pbisFirstBlock = false;
                             else if (psRecordContent.startsWith ("DR"))
                                  psRecordContent = psRecordContent.substring(2);
                        /*          if (psRecordContent.length() != 1820 ) // && psRecordContent.length() != 846)
                                       // insert in error table
                                       continue;
                                  if ( psRecordContent.substring(453-1, 455).equals ("000") || psRecordContent.substring(453-1, 455).equals ("001") )
                                       pStmt.setString (1, psRecordContent.substring(1-1,19));
                                       pStmt.setString (2, psRecordContent.substring(20-1,21));
                                       pStmt.setString (3, psRecordContent.substring(22-1,25));
                                       pStmt.setString (4, psRecordContent.substring(26-1,29));
                                       pStmt.setString (5, psRecordContent.substring(30-1,48));
                                       pStmt.setString (6, psRecordContent.substring(49-1,51));
                                       pStmt.setString (7, psRecordContent.substring(52-1,55));
                                       pStmt.setString (8, psRecordContent.substring(56-1,59));
                                       pStmt.setString (9, psRecordContent.substring(60-1,63));
                                       pStmt.setString (10, psRecordContent.substring(64-1,67));
                                       pStmt.setString (11, psRecordContent.substring(68-1,86));
                                       pStmt.setString (12, psRecordContent.substring(87-1,102));
                                       pStmt.setString (13, psRecordContent.substring(103-1,105));
                                       pStmt.setString (14, psRecordContent.substring(106-1,108));
                                       pStmt.setString (15, psRecordContent.substring(109-1,112));
                                       pStmt.setString (16, psRecordContent.substring(113-1,116));
                                       pStmt.setString (17, psRecordContent.substring(117-1,132));
                                       pStmt.setString (18, psRecordContent.substring(133-1,140));
                                       pStmt.setString (19, psRecordContent.substring(141-1,156));
                                       pStmt.setString (20, psRecordContent.substring(157-1,157));
                                       pStmt.setString (21, psRecordContent.substring(158-1,176));
                                       pStmt.setString (22, psRecordContent.substring(177-1,182));
                                       pStmt.setString (23, psRecordContent.substring(183-1,183));
                                       pStmt.setString (24, psRecordContent.substring(184-1,187));
                                       pStmt.setString (25, psRecordContent.substring(188-1,189));
                                       pStmt.setString (26, psRecordContent.substring(190-1,190));
                                       pStmt.setString (27, psRecordContent.substring(191-1,191));
                                       pStmt.setString (28, psRecordContent.substring(192-1,193));
                                       pStmt.setString (29, psRecordContent.substring(194-1,212));
                                       pStmt.setString (30, psRecordContent.substring(213-1,231));
                                       pStmt.setString (31, psRecordContent.substring(232-1,250));
                                       pStmt.setString (32, psRecordContent.substring(251-1,256));
                                       pStmt.setString (33, psRecordContent.substring(257-1,264));
                                       pStmt.setString (34, psRecordContent.substring(265-1,270));
                                       pStmt.setString (35, psRecordContent.substring(271-1,276));
                                       pStmt.setString (36, psRecordContent.substring(277-1,282));
                                       pStmt.setString (37, psRecordContent.substring(283-1,294));
                                       pStmt.setString (38, psRecordContent.substring(295-1,319));
                                       pStmt.setString (39, psRecordContent.substring(320-1,341));
                                       pStmt.setString (40, psRecordContent.substring(342-1,354));
                                       pStmt.setString (41, psRecordContent.substring(355-1,357));
                                       pStmt.setString (42, psRecordContent.substring(358-1,359));
                                       pStmt.setString (43, psRecordContent.substring(360-1,363));
                                       pStmt.setString (44, psRecordContent.substring(364-1,366));
                                       pStmt.setString (45, psRecordContent.substring(367-1,371));
                                       pStmt.setString (46, psRecordContent.substring(372-1,382));
                                       pStmt.setString (47, psRecordContent.substring(383-1,393));
                                       pStmt.setString (48, psRecordContent.substring(394-1,395));
                                       pStmt.setString (49, psRecordContent.substring(396-1,401));
                                       pStmt.setString (50, psRecordContent.substring(402-1,405));
                                       pStmt.setString (51, psRecordContent.substring(406-1,413));
                                       pStmt.setString (52, psRecordContent.substring(414-1,417));
                                       pStmt.setString (53, psRecordContent.substring(418-1,421));
                                       pStmt.setString (54, psRecordContent.substring(422-1,425));
                                       pStmt.setString (55, psRecordContent.substring(426-1,427));
                                       pStmt.setString (56, psRecordContent.substring(428-1,428));
                                       pStmt.setString (57, psRecordContent.substring(429-1,430));
                                       pStmt.setString (58, psRecordContent.substring(431-1,431));
                                       pStmt.setString (59, psRecordContent.substring(432-1,433));
                                       pStmt.setString (60, psRecordContent.substring(434-1,452));
                                       pStmt.setString (61, psRecordContent.substring(453-1,455));
                                       pStmt.setString (62, psRecordContent.substring(456-1,474));
                                       pStmt.setString (63, psRecordContent.substring(475-1,493));
                                       pStmt.setString (64, psRecordContent.substring(494-1,497));
                                       pStmt.setString (65, psRecordContent.substring(498-1,537));
                                       pStmt.setString (66, psRecordContent.substring(538-1,553));
                                       pStmt.setString (67, psRecordContent.substring(554-1,565));
                                       pStmt.setString (68, psRecordContent.substring(566-1,575));
                                       pStmt.setString (69, psRecordContent.substring(576-1,585));
                                       pStmt.setString (70, psRecordContent.substring(586-1,601));
                                       pStmt.setString (71, psRecordContent.substring(602-1,602));
                                       pStmt.setString (72, psRecordContent.substring(603-1,605));
                                       pStmt.setString (73, psRecordContent.substring(606-1,608));
                                       pStmt.setString (74, psRecordContent.substring(609-1,616));
                                       pStmt.setString (75, psRecordContent.substring(617-1,617));
                                       pStmt.setString (76, psRecordContent.substring(618-1,625));
                                       pStmt.setString (77, psRecordContent.substring(626-1,629));
                                       pStmt.setString (78, psRecordContent.substring(630-1,649));
                                       pStmt.setString (79, psRecordContent.substring(650-1,650));
                                       pStmt.setString (80, psRecordContent.substring(651-1,651));
                                       pStmt.setString (81, psRecordContent.substring(652-1,653));
                                       pStmt.setString (82, psRecordContent.substring(654-1,655));
                                       pStmt.setString (83, psRecordContent.substring(656-1,656));
                                       pStmt.setString (84, psRecordContent.substring(657-1,658));
                                       pStmt.setString (85, psRecordContent.substring(659-1,661));
                                       pStmt.setString (86, psRecordContent.substring(662-1,662));
                                       pStmt.setString (87, psRecordContent.substring(663-1,665));
                                       pStmt.setString (88, psRecordContent.substring(666-1,668));
                                       pStmt.setString (89, psRecordContent.substring(669-1,676));
                                       pStmt.setString (90, psRecordContent.substring(677-1,679));
                                       pStmt.setString (91, psRecordContent.substring(680-1,687));
                                       pStmt.setString (92, psRecordContent.substring(688-1,706));
                                       pStmt.setString (93, psRecordContent.substring(707-1,707));
                                       pStmt.setString (94, psRecordContent.substring(708-1,708));
                                       pStmt.setString (95, psRecordContent.substring(709-1,709));
                                       pStmt.setString (96, psRecordContent.substring(710-1,710));
                                       pStmt.setString (97, psRecordContent.substring(711-1,711));
                                       pStmt.setString (98, psRecordContent.substring(712-1,712));
                                       pStmt.setString (99, psRecordContent.substring(713-1,713));
                                       pStmt.setString (100, psRecordContent.substring(714-1,714));
                                       pStmt.setString (101, psRecordContent.substring(715-1,715));
                                       pStmt.setString (102, psRecordContent.substring(716-1,716));
                                       pStmt.setString (103, psRecordContent.substring(717-1,717));
                                       pStmt.setString (104, psRecordContent.substring(718-1,728));
                                       pStmt.setString (105, psRecordContent.substring(729-1,739));
                                       pStmt.setString (106, psRecordContent.substring(740-1,750));
                                       pStmt.setString (107, psRecordContent.substring(751-1,754));
                                       pStmt.setString (108, psRecordContent.substring(755-1,762));
                                       pStmt.setString (109, psRecordContent.substring(763-1,766));
                                       pStmt.setString (110, psRecordContent.substring(767-1,778));
                                       pStmt.setString (111, psRecordContent.substring(779-1,782));
                                       pStmt.setString (112, psRecordContent.substring(783-1,785));
                                       pStmt.setString (113, psRecordContent.substring(786-1,786));
                                       pStmt.setString (114, psRecordContent.substring(787-1,806));
                                       pStmt.setString (115, psRecordContent.substring(807-1,815));
                                       pStmt.setString (116, psRecordContent.substring(816-1,816));
                                       pStmt.setString (117, psRecordContent.substring(817-1,817));
                                       pStmt.setString (118, psRecordContent.substring(818-1,818));
                                       pStmt.setString (119, psRecordContent.substring(819-1,824));
                                       pStmt.setString (120, psRecordContent.substring(825-1,832));
                                       pStmt.setString (121, psRecordContent.substring(833-1,833));
                                       pStmt.setString (122, psRecordContent.substring(834-1,866));
                                       pStmt.setString (123, psRecordContent.substring(867-1,870));
                                       pStmt.setString (124, psRecordContent.substring(871-1,1070));
                             //          if (pStmt.executeUpdate() != 1)
                             //               throw new GenException ("Insertion failed");
                                            String psMsgType = psRecordContent.substring (184-1, 187);
                                            if (true)//updateTable (conn, pstmt, pstmt1, pstmt2, psRecordContent, out, bw))
                                                 if (psMsgType.equals ("0500") || psMsgType.equals ("0520"))
                                                           //piSettlementDR++;
                                                 if (psMsgType.equals ("0210"))
                                                           //piUpdatedDR++;
                                                 if (psMsgType.equals ("0220") || psMsgType.equals ("0320") || psMsgType.equals ("0420"))
                                                      //reversalDR++;
                                                 //validDR++;
                                  //totalDR++;
                             else if (psRecordContent.startsWith ("FT"))
                                  pcData = new char [HEADERSIZE];     // Reading next Record Header
                                  brPTLF.read (pcData, 0, HEADERSIZE);
                                  piRecordsize = Integer.parseInt (new String (pcData));
                                  piOffset += HEADERSIZE;
                                  pcData = new char [piRecordsize - HEADERSIZE];// Reading next Record Content (Must be TT)
                                  brPTLF.read (pcData, 0, piRecordsize - HEADERSIZE);
                                  psRecordContent = new String (pcData);
                                  piOffset += piRecordsize - HEADERSIZE;
                                  if (!psRecordContent.startsWith ("TT"))
                                       throw new GenException ("Total Trailer not Found.");
                                  pbEndOfFile = true;
                        } // while (piOffset < piBlocksize)
                   } // while (!pbEndOfFile)
                   brPTLF.close();
                   fPTLF.close();
                   pStmt.close();
              catch (Exception e)
                   moLogFile.printStackTrace(e);
              finally
                   mConnPool.free(pConn);
         public static void main(String args[])
              try
                   PTLFProcessor test=new PTLFProcessor("c:\\test.txt");
                   test.PTLFGetData();
              catch (Exception e)
                   clsLogFile.printStackTrace(e);
    }Here is the code with Normal statements
    //package mps.mpsPTLF;
    import java.io.*;
    import java.sql.*;
    import java.util.*;
    import java.util.Calendar;
    import java.util.Date;
    import gen.genCommon.genConnectionPool.*;
    import gen.genCommon.*;
    public class PTLFProcessor1
         private static clsLogFile moLogFile = new clsLogFile("");
         private gen.genCommon.genConnectionPool.SharedConnectionPool mConnPool = SharedConnectionPool.getInstance(2);
         FileReader fPTLF = null;
         BufferedReader brPTLF = null;
    //**************** Begin Constructor declaration ************************
    To intialize the class variables for new Fee
         public PTLFProcessor1(String pathPTLF) throws GenException
              try
                   fPTLF = new FileReader(pathPTLF);
                   brPTLF = new BufferedReader(fPTLF);
              catch (Exception e)
                   throw new GenException("Error Accessing file : " + pathPTLF + " - " + e.toString(),e );     
    //**************** End  Constructor declaration ************************
         public void PTLFGetData() throws GenException
              char pcData[];
              int HEADERSIZE = 6;
              boolean pbEndOfFile = false;
              boolean pbisFirstBlock = true;
              int piBlocksize = 0;
              int piOffset = 0;
              int piRecordsize = 0;
              String psRecordContent = "";
              Connection pConn = null;
              int cnt=0;
              try
                   String psInsSql=" INSERT INTO FILE_PTLF_IN ( " +
                                       " fpi_DAT_TIM , " +
                                       " fpi_REC_TYP , " +
                                       " fpi_CRD_LN , " +
                                       " fpi_CRD_FIID , " +
                                       " fpi_CRD_NUM , " +
                                       " fpi_MBR_NUM , " +
                                       " fpi_MER_LN , " +
                                       " fpi_MER_FIID , " +
                                       " fpi_MER_GRP , " +
                                       " fpi_MER_REGN , " +
                                       " fpi_MER_ID , " +
                                       " fpi_TERM_ID , " +
                                       " fpi_SHIFT_NUM , " +
                                       " fpi_BATCH_NUM , " +
                                       " fpi_TERM_LN , " +
                                       " fpi_TERM_FIID , " +
                                       " fpi_TERM_ID_1 , " +
                                       " fpi_TRAN , " +
                                       " fpi_TERM_ID_2 , " +
                                       " fpi_REC_FRMT , " +
                                       " fpi_MER_ID_1 , " +
                                       " fpi_CLERK_ID , " +
                                       " fpi_DATA_FLAG , " +
                                       " fpi_TYP , " +
                                       " fpi_RTE_STAT , " +
                                       " fpi_ORIGINATOR , " +
                                       " fpi_RESPONDER , " +
                                       " fpi_ISS_CDE , " +
                                       " fpi_ENTRY_TIM , " +
                                       " fpi_EXIT_TIM , " +
                                       " fpi_RE_ENTRY_TIM , " +
                                       " fpi_TRAN_DAT , " +
                                       " fpi_TRAN_TIM , " +
                                       " fpi_POST_DAT , " +
                                       " fpi_ACQ_ICHG_SETL_DAT , " +
                                       " fpi_ISS_ICHG_SETL_DAT , " +
                                       " fpi_SEQ_NUM , " +
                                       " fpi_TERM_NAME_LOC , " +
                                       " fpi_TERM_OWNER_NAME , " +
                                       " fpi_TERM_CITY , " +
                                       " fpi_TERM_ST , " +
                                       " fpi_TERM_CNTRY_CDE , " +
                                       " fpi_BRCH_ID , " +
                                       " fpi_USER_FLD2 , " +
                                       " fpi_TERM_TIM_OFST , " +
                                       " fpi_ACQ_INST_ID_NUM , " +
                                       " fpi_RCV_INST_ID_NUM , " +
                                       " fpi_TERM_TYP , " +
                                       " fpi_CLERK_ID_1 , " +
                                       " fpi_GRP , " +
                                       " fpi_USER_ID , " +
                                       " fpi_RETL_SIC_CDE , " +
                                       " fpi_ORIG , " +
                                       " fpi_DEST , " +
                                       " fpi_TC , " +
                                       " fpi_T , " +
                                       " fpi_AA , " +
                                       " fpi_C , " +
                                       " fpi_CRD_TYP , " +
                                       " fpi_ACCT , " +
                                       " fpi_RESP_CDE , " +
                                       " fpi_AMT_1 , " +
                                       " fpi_AMT_2 , " +
                                       " fpi_EXP_DAT , " +
                                       " fpi_TRACK2 , " +
                                       " fpi_PIN_OFST , " +
                                       " fpi_PRE_AUTH_SEQ_NUM , " +
                                       " fpi_INVOICE_NUM , " +
                                       " fpi_ORIG_INVOICE_NUM , " +
                                       " fpi_AUTHORIZER , " +
                                       " fpi_AUTH_IND , " +
                                       " fpi_SHIFT_NUM_1 , " +
                                       " fpi_BATCH_SEQ_NUM , " +
                                       " fpi_APPRV_CDE , " +
                                       " fpi_APPRV_CDE_LGTH , " +
                                       " fpi_ICHG_RESP , " +
                                       " fpi_PSEUDO_TERM_ID , " +
                                       " fpi_RFRL_PHONE , " +
                                       " fpi_DFT_CAPTURE_FLG , " +
                                       " fpi_SETL_FLAG , " +
                                       " fpi_RVRL_CDE , " +
                                       " fpi_REA_FOR_CHRGBCK , " +
                                       " fpi_NUM_OF_CHRGBCK , " +
                                       " fpi_PT_SRV_COND_CDE , " +
                                       " fpi_PT_SRV_ENTRY_MDE , " +
                                       " fpi_AUTH_IND2 , " +
                                       " fpi_ORIG_CRNCY_CDE , " +
                                       " fpi_AUTH_CRNCY_CDE , " +
                                       " fpi_AUTH_CONV_RATE , " +
                                       " fpi_SETL_CRNCY_CDE , " +
                                       " fpi_SETL_CONV_RATE , " +
                                       " fpi_CONV_DAT_TIM , " +
                                       " fpi_IMP_IND , " +
                                       " fpi_AVAIL_BAL , " +
                                       " fpi_LEDG_BAL , " +
                                       " fpi_AMT_ON_HOLD , " +
                                       " fpi_TTL_FLOAT , " +
                                       " fpi_CUR_FLOAT , " +
                                       " fpi_ADJ_SETL_IMPACT_FLG , " +
                                       " fpi_PBF1 , " +
                                       " fpi_PBF2 , " +
                                       " fpi_PBF3 , " +
                                       " fpi_PBF4 , " +
                                       " fpi_FRWD_INST_ID_NUM , " +
                                       " fpi_CRD_ACCPT_ID_NUM , " +
                                       " fpi_CRD_ISS_ID_NUM , " +
                                       " fpi_ORIG_MSG_TYP , " +
                                       " fpi_ORIG_TRAN_TIM , " +
                                       " fpi_ORIG_TRAN_DAT , " +
                                       " fpi_ORIG_SEQ_NUM , " +
                                       " fpi_ORIG_B24_POST_DAT , " +
                                       " fpi_EXCP_RSN_CDE , " +
                                       " fpi_OVRRDE_FLG , " +
                                       " fpi_ADDR , " +
                                       " fpi_ZIP_CDE , " +
                                       " fpi_ADDR_VRFY_STAT , " +
                                       " fpi_PIN_IND , " +
                                       " fpi_PIN_TRIES , " +
                                       " fpi_PRE_AUTH_TS_DAT , " +
                                       " fpi_PRE_AUTH_TS_TIM , " +
                                       " fpi_PRE_AUTH_HLDS_LVL , " +
                                       " fpi_USER_FLD5 , " +
                                       " fpi_LEN , " +
                                       " fpi_INFO )" +
                                       " VALUES ";
                                       ( " +
                                       " ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, " +
                                       " ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, " +
                                       " ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, " +
                                       " ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, " +
                   pConn = mConnPool.getConnection();
                   Statement Stmt=pConn.createStatemen                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    

    Dear Sir,
    The problem with the prepared statement is that it gets prepared once the compilation is over and the program is running in memory, what effectively this means is that at the compilation time the process of putting togather the statement has been discounted and while compiling , only the javac or compiler is in memory while at runtime the user input is required so streams are in memory and also the JVM and obviously your code.
    Anyways java is a little slower than other languages and processes your code as and when user interacts with code so it is not the fastest it you want to make it perform calculations or accept user input or as in ur case prepareStatement.
    your normal SQL statement is taken care of at compile time and is therefore faster.
    regards,
    [email protected]

  • Binding is 60 times slower than non-binding

    Hi,
    I have a quite serious problem using binding with Toplink. My configuration is
    Toplink 9.0.4.5
    Oracle 10g EE 10.2.0.4.0 (64 Bit, Partitioning, Data Mining and Real Application Testing options)
    Oracle Thin JDBC Driver (either 11.2.0.1.0 or 10.2.0.4.0)
    running in a Tomcat 5.5 environment.
    Our usual configuration is with BindAllParameters = "true", which is fine in 99% of all cases. But in one special case, which is the search functionality of our application (insurance agents management application),
    a SQL is about 60 times slower with binding, than without binding. I attach the SQL at the end of the message, but what is quite special about it is, that it uses quite a large amount of "IN" clauses. I found an earlier
    posting stating, that Toplink (or Oracle JDBC) has a problem with IN-clauses and binding. Can anyone confirm this?
    As I said, the SQL is part of a people search functionality, so there is a great amount of different variations. Not all variations show this behaviour, so I assume, that Oracle probably uses different execution plans regarding using prepared statments or direct execution. Can anyone confirm this also?
    Lastly, is there any way to record the execution plan inside the Tomcat application?
    Thanks in advance for any help, as I said before, this problem is currently very critical, since we are 2 weeks before production,
    Thorsten.
    Here is the example SQL (with the bind varaibles already replaced):
    /* Formatted on 2010/02/08 10:27 (Formatter Plus v4.8.8) */
    SELECT t0.partner_id
      FROM aidatint.papartner t0
    WHERE (    (    (    (    (   (    (t0.schwebe_kz = 'S')
                                    AND (t0.aktgfid_rid = '126562119515400004')
                                OR (    (t0.schwebe_kz = 'O')
                                    AND (t0.aktgfid_rid <> '126562119515400004')
                           AND (   (t0.gueltigbis_dt IS NULL)
                                OR (t0.gueltigvon_dt < t0.gueltigbis_dt)
                      AND (t0.mcname_txt = 'MEIER')
                 AND (t0.partner_id IN (
                         SELECT DISTINCT t1.partner_id
                                    FROM aidatint.paadresse t1
                                   WHERE (    (    (   (    (t1.schwebe_kz = 'S'
                                                        AND (t1.aktgfid_rid =
                                                                '126562119515400004'
                                                    OR (    (t1.schwebe_kz = 'O'
                                                        AND (t1.aktgfid_rid <>
                                                                '126562119515400004'
                                               AND (   (t1.gueltigbis_dt IS NULL
                                                    OR (t1.gueltigvon_dt <
                                                                  t1.gueltigbis_dt
                                          AND (t1.mcort_txt = 'KOELN')
            AND (t0.partner_id IN (
                    SELECT t2.partner_id
                      FROM aidatint.paparolle t2
                     WHERE (    (    (    (   (    (t2.schwebe_kz = 'S')
                                               AND (t2.aktgfid_rid =
                                                              '126562119515400004'
                                           OR (    (t2.schwebe_kz = 'O')
                                               AND (t2.aktgfid_rid <>
                                                              '126562119515400004'
                                      AND (    (t2.gueltigvon_dt <=
                                                   TO_DATE ('20100208',
                                                            'YYYYMMDD')
                                           AND (   (t2.gueltigbis_dt >
                                                       TO_DATE ('20100208',
                                                                'YYYYMMDD'
                                                OR (t2.gueltigbis_dt IS NULL)
                                 AND (t2.geschobjtyp_typ = 'VMVT')
                            AND (t2.goid_id IN (
                                    SELECT t3.vermittlervertragid_id
                                      FROM aidatint.prvvsvermittlervertrag t3
                                     WHERE (    (   (    (t3.schwebe_kz = 'S')
                                                     AND (t3.aktgfid_rid =
                                                              '126562119515400004'
                                                 OR (    (t3.schwebe_kz = 'O')
                                                     AND (t3.aktgfid_rid <>
                                                              '126562119515400004'
                                            AND (t3.kumulnr_txt IN (
                                                    SELECT t4.bereichsnr_txt
                                                      FROM aidatint.prvvsstrukturangausdienst t4
                                                     WHERE (    (    (   (    (t4.schwebe_kz =
                                                                                  'S'
                                                                          AND (t4.aktgfid_rid =
                                                                                  '126562119515400004'
                                                                      OR (    (t4.schwebe_kz =
                                                                                  'O'
                                                                          AND (t4.aktgfid_rid <>
                                                                                  '126562119515400004'
                                                                 AND (    (t4.gueltigvon_dt <=
                                                                              TO_DATE
                                                                                 ('20100208',
                                                                                  'YYYYMMDD'
                                                                      AND (   (t4.gueltigbis_dt >
                                                                                  TO_DATE
                                                                                     ('20100208',
                                                                                      'YYYYMMDD'
                                                                           OR (t4.gueltigbis_dt IS NULL
                                                            AND (t4.schluessel_txt LIKE
                                                                    '##TH###1###4%'
           )

    Odd, I would assume it is a db/JDBC issue. You can confirm this by trying the same through raw JDBC, or enabling the TopLink profiler.
    It could be related to the large size of the SQL and large number of parameters to the call. You may wish to check with the JDBC group to see what the issue is.
    You can disable binding for just this query, to get the binding benefit elsewhere and avoid the binding issue for just this query.
    EclipseLink: http://www.eclipselink.org

  • Windows Graphics 20 times slower than Linux Graphics?

    Hello,
    I am working on a java application to visualize 3D crystal structures. The atomes in the structure are drawn with "DrawOval" and "FillOval". Most of the processor time is spent on these two commands. Since I want to draw several thousands up to tens of thousands of atoms in real time, performance is a serious issue.
    The program works well, however I made the following observance: The code running on Windows XP is about 20 tims slower (approx. 100 ms/frame vs. 5 ms/frame) than the same code running on the same computer under Linux!
    Why is there such a big performance difference?
    Is there a way to have the same performance on the windows machine as on the linux machine?
    Is it necessary to use a different way to display circles?
    Hardware: AMD dual Athlon, NVidia GeForce4 Ti 4400.
    Thanks a lot for your help!

    I should say I'm surprised that there is such a big difference in performance, but if you want really great performance you might want to look into using OpenGL, even if you only do 2D graphics. 3D drivers are usually more optimized than the 2D counterparts (simply because of greater demand, unless you look into HighEnd CAD graphics cards).
    Obviously OpenGL will only be faster if you've got accelerated 3D drivers for every platform.

  • Oh my God Prepared Statements are about 80 times slower than multiple inser

    I am highly suprised that in my programme a normal statement os a lot faster than a Prepared Statement. I am posting below both the Programmes, in one I am using Prepared Statements and in another I am using normal Statements. My OS is Win NT My Database is SQL Server 7. THe progamme extracts data from a file and inserts records in the database. In the test case I had A file of about 1440 records ie. 1440 inserts are made to the database, The database table is very large ie. It has around 126 Columns.
    So for inserting 1440 record froma file the Prepared Statements take around 7 Minutes . And for reading the same file and inserting the same no of records in the same database normal Statements Take only about 7 seconds. Now the JAcva docs clearly Specify that when we need to use the same stmt many times it is better to use Prepared Satements < the results that I am Getting is clear and complete violation of what java docs say.
    Below is the code with Prepared Statements
    package mps.mpsPTLF;
    import java.io.*;
    import java.sql.*;
    import java.util.*;
    import java.util.Calendar;
    import java.util.Date;
    import gen.genCommon.genConnectionPool.*;
    import gen.genCommon.*;
    public class PTLFProcessor
         private static clsLogFile moLogFile = new clsLogFile("");
         private gen.genCommon.genConnectionPool.SharedConnectionPool mConnPool = SharedConnectionPool.getInstance(2);
         FileReader fPTLF = null;
         BufferedReader brPTLF = null;
    //**************** Begin Constructor declaration ************************
    To intialize the class variables for new Fee
         public PTLFProcessor(String pathPTLF) throws GenException
              try
                   fPTLF = new FileReader(pathPTLF);
                   brPTLF = new BufferedReader(fPTLF);
              catch (Exception e)
                   throw new GenException("Error Accessing file : " + pathPTLF + " - " + e.toString(),e );     
    //**************** End  Constructor declaration ************************
         public void PTLFGetData() throws GenException
              char pcData[];
              int HEADERSIZE = 6;
              boolean pbEndOfFile = false;
              boolean pbisFirstBlock = true;
              int piBlocksize = 0;
              int piOffset = 0;
              int piRecordsize = 0;
              String psRecordContent = "";
              Connection pConn = null;
              try
                   String psInsSql=" INSERT INTO FILE_PTLF_IN ( " +
                                       " fpi_DAT_TIM , " +
                                       " fpi_REC_TYP , " +
                                       " fpi_CRD_LN , " +
                                       " fpi_CRD_FIID , " +
                                       " fpi_CRD_NUM , " +
                                       " fpi_MBR_NUM , " +
                                       " fpi_MER_LN , " +
                                       " fpi_MER_FIID , " +
                                       " fpi_MER_GRP , " +
                                       " fpi_MER_REGN , " +
                                       " fpi_MER_ID , " +
                                       " fpi_TERM_ID , " +
                                       " fpi_SHIFT_NUM , " +
                                       " fpi_BATCH_NUM , " +
                                       " fpi_TERM_LN , " +
                                       " fpi_TERM_FIID , " +
                                       " fpi_TERM_ID_1 , " +
                                       " fpi_TRAN , " +
                                       " fpi_TERM_ID_2 , " +
                                       " fpi_REC_FRMT , " +
                                       " fpi_MER_ID_1 , " +
                                       " fpi_CLERK_ID , " +
                                       " fpi_DATA_FLAG , " +
                                       " fpi_TYP , " +
                                       " fpi_RTE_STAT , " +
                                       " fpi_ORIGINATOR , " +
                                       " fpi_RESPONDER , " +
                                       " fpi_ISS_CDE , " +
                                       " fpi_ENTRY_TIM , " +
                                       " fpi_EXIT_TIM , " +
                                       " fpi_RE_ENTRY_TIM , " +
                                       " fpi_TRAN_DAT , " +
                                       " fpi_TRAN_TIM , " +
                                       " fpi_POST_DAT , " +
                                       " fpi_ACQ_ICHG_SETL_DAT , " +
                                       " fpi_ISS_ICHG_SETL_DAT , " +
                                       " fpi_SEQ_NUM , " +
                                       " fpi_TERM_NAME_LOC , " +
                                       " fpi_TERM_OWNER_NAME , " +
                                       " fpi_TERM_CITY , " +
                                       " fpi_TERM_ST , " +
                                       " fpi_TERM_CNTRY_CDE , " +
                                       " fpi_BRCH_ID , " +
                                       " fpi_USER_FLD2 , " +
                                       " fpi_TERM_TIM_OFST , " +
                                       " fpi_ACQ_INST_ID_NUM , " +
                                       " fpi_RCV_INST_ID_NUM , " +
                                       " fpi_TERM_TYP , " +
                                       " fpi_CLERK_ID_1 , " +
                                       " fpi_GRP , " +
                                       " fpi_USER_ID , " +
                                       " fpi_RETL_SIC_CDE , " +
                                       " fpi_ORIG , " +
                                       " fpi_DEST , " +
                                       " fpi_TC , " +
                                       " fpi_T , " +
                                       " fpi_AA , " +
                                       " fpi_C , " +
                                       " fpi_CRD_TYP , " +
                                       " fpi_ACCT , " +
                                       " fpi_RESP_CDE , " +
                                       " fpi_AMT_1 , " +
                                       " fpi_AMT_2 , " +
                                       " fpi_EXP_DAT , " +
                                       " fpi_TRACK2 , " +
                                       " fpi_PIN_OFST , " +
                                       " fpi_PRE_AUTH_SEQ_NUM , " +
                                       " fpi_INVOICE_NUM , " +
                                       " fpi_ORIG_INVOICE_NUM , " +
                                       " fpi_AUTHORIZER , " +
                                       " fpi_AUTH_IND , " +
                                       " fpi_SHIFT_NUM_1 , " +
                                       " fpi_BATCH_SEQ_NUM , " +
                                       " fpi_APPRV_CDE , " +
                                       " fpi_APPRV_CDE_LGTH , " +
                                       " fpi_ICHG_RESP , " +
                                       " fpi_PSEUDO_TERM_ID , " +
                                       " fpi_RFRL_PHONE , " +
                                       " fpi_DFT_CAPTURE_FLG , " +
                                       " fpi_SETL_FLAG , " +
                                       " fpi_RVRL_CDE , " +
                                       " fpi_REA_FOR_CHRGBCK , " +
                                       " fpi_NUM_OF_CHRGBCK , " +
                                       " fpi_PT_SRV_COND_CDE , " +
                                       " fpi_PT_SRV_ENTRY_MDE , " +
                                       " fpi_AUTH_IND2 , " +
                                       " fpi_ORIG_CRNCY_CDE , " +
                                       " fpi_AUTH_CRNCY_CDE , " +
                                       " fpi_AUTH_CONV_RATE , " +
                                       " fpi_SETL_CRNCY_CDE , " +
                                       " fpi_SETL_CONV_RATE , " +
                                       " fpi_CONV_DAT_TIM , " +
                                       " fpi_IMP_IND , " +
                                       " fpi_AVAIL_BAL , " +
                                       " fpi_LEDG_BAL , " +
                                       " fpi_AMT_ON_HOLD , " +
                                       " fpi_TTL_FLOAT , " +
                                       " fpi_CUR_FLOAT , " +
                                       " fpi_ADJ_SETL_IMPACT_FLG , " +
                                       " fpi_PBF1 , " +
                                       " fpi_PBF2 , " +
                                       " fpi_PBF3 , " +
                                       " fpi_PBF4 , " +
                                       " fpi_FRWD_INST_ID_NUM , " +
                                       " fpi_CRD_ACCPT_ID_NUM , " +
                                       " fpi_CRD_ISS_ID_NUM , " +
                                       " fpi_ORIG_MSG_TYP , " +
                                       " fpi_ORIG_TRAN_TIM , " +
                                       " fpi_ORIG_TRAN_DAT , " +
                                       " fpi_ORIG_SEQ_NUM , " +
                                       " fpi_ORIG_B24_POST_DAT , " +
                                       " fpi_EXCP_RSN_CDE , " +
                                       " fpi_OVRRDE_FLG , " +
                                       " fpi_ADDR , " +
                                       " fpi_ZIP_CDE , " +
                                       " fpi_ADDR_VRFY_STAT , " +
                                       " fpi_PIN_IND , " +
                                       " fpi_PIN_TRIES , " +
                                       " fpi_PRE_AUTH_TS_DAT , " +
                                       " fpi_PRE_AUTH_TS_TIM , " +
                                       " fpi_PRE_AUTH_HLDS_LVL , " +
                                       " fpi_USER_FLD5 , " +
                                       " fpi_LEN , " +
                                       " fpi_INFO )" +
                                       " VALUES ( " +
                                       " ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, " +
                                       " ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, " +
                                       " ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, " +
                                       " ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, " +
                   pConn = mConnPool.getConnection();
                   PreparedStatement pStmt = pConn.prepareStatement(psInsSql);
                   while (!pbEndOfFile)
                        pcData = new char [HEADERSIZE];                    // Reading each Block Header
                        brPTLF.read (pcData, 0, HEADERSIZE);
                        piBlocksize = Integer.parseInt (new String (pcData));
                        piOffset = HEADERSIZE;
                        while (piOffset < piBlocksize)
                        {                      // Read the records upto end of block
                             pcData = new char [HEADERSIZE];               // Reading each Record Header
                             brPTLF.read (pcData, 0, HEADERSIZE);
                             piRecordsize = Integer.parseInt (new String (pcData));
                             piOffset += HEADERSIZE;
                             pcData = new char [piRecordsize - HEADERSIZE];     // Reading each Record Content
                             brPTLF.read (pcData, 0, piRecordsize - HEADERSIZE);
                             psRecordContent = new String (pcData);
                             piOffset += piRecordsize - HEADERSIZE;
                             moLogFile.writeToLog(psRecordContent);
                             if (pbisFirstBlock)
                                  if (!psRecordContent.startsWith ("TH"))
                                       throw new GenException ("Invalid File Format, missing 'TH'");
                                  pcData = new char [HEADERSIZE];          // Reading next Record Header
                                  brPTLF.read (pcData, 0, HEADERSIZE);
                                  piRecordsize = Integer.parseInt (new String (pcData));
                                  piOffset += HEADERSIZE;
                                  pcData = new char [piRecordsize - HEADERSIZE];// Reading next Record Content (Must be FH)
                                  brPTLF.read (pcData, 0, piRecordsize - HEADERSIZE);
                                  psRecordContent = new String (pcData);
                                  piOffset += piRecordsize - HEADERSIZE;
                                  if (!psRecordContent.startsWith ("FH"))
                                       throw new GenException ("File Header Not Found");
                                  pbisFirstBlock = false;
                             else if (psRecordContent.startsWith ("DR"))
                                  psRecordContent = psRecordContent.substring(2);
                        /*          if (psRecordContent.length() != 1820 ) // && psRecordContent.length() != 846)
                                       // insert in error table
                                       continue;
                                  if ( psRecordContent.substring(453-1, 455).equals ("000") || psRecordContent.substring(453-1, 455).equals ("001") )
                                       pStmt.setString (1, psRecordContent.substring(1-1,19));
                                       pStmt.setString (2, psRecordContent.substring(20-1,21));
                                       pStmt.setString (3, psRecordContent.substring(22-1,25));
                                       pStmt.setString (4, psRecordContent.substring(26-1,29));
                                       pStmt.setString (5, psRecordContent.substring(30-1,48));
                                       pStmt.setString (6, psRecordContent.substring(49-1,51));
                                       pStmt.setString (7, psRecordContent.substring(52-1,55));
                                       pStmt.setString (8, psRecordContent.substring(56-1,59));
                                       pStmt.setString (9, psRecordContent.substring(60-1,63));
                                       pStmt.setString (10, psRecordContent.substring(64-1,67));
                                       pStmt.setString (11, psRecordContent.substring(68-1,86));
                                       pStmt.setString (12, psRecordContent.substring(87-1,102));
                                       pStmt.setString (13, psRecordContent.substring(103-1,105));
                                       pStmt.setString (14, psRecordContent.substring(106-1,108));
                                       pStmt.setString (15, psRecordContent.substring(109-1,112));
                                       pStmt.setString (16, psRecordContent.substring(113-1,116));
                                       pStmt.setString (17, psRecordContent.substring(117-1,132));
                                       pStmt.setString (18, psRecordContent.substring(133-1,140));
                                       pStmt.setString (19, psRecordContent.substring(141-1,156));
                                       pStmt.setString (20, psRecordContent.substring(157-1,157));
                                       pStmt.setString (21, psRecordContent.substring(158-1,176));
                                       pStmt.setString (22, psRecordContent.substring(177-1,182));
                                       pStmt.setString (23, psRecordContent.substring(183-1,183));
                                       pStmt.setString (24, psRecordContent.substring(184-1,187));
                                       pStmt.setString (25, psRecordContent.substring(188-1,189));
                                       pStmt.setString (26, psRecordContent.substring(190-1,190));
                                       pStmt.setString (27, psRecordContent.substring(191-1,191));
                                       pStmt.setString (28, psRecordContent.substring(192-1,193));
                                       pStmt.setString (29, psRecordContent.substring(194-1,212));
                                       pStmt.setString (30, psRecordContent.substring(213-1,231));
                                       pStmt.setString (31, psRecordContent.substring(232-1,250));
                                       pStmt.setString (32, psRecordContent.substring(251-1,256));
                                       pStmt.setString (33, psRecordContent.substring(257-1,264));
                                       pStmt.setString (34, psRecordContent.substring(265-1,270));
                                       pStmt.setString (35, psRecordContent.substring(271-1,276));
                                       pStmt.setString (36, psRecordContent.substring(277-1,282));
                                       pStmt.setString (37, psRecordContent.substring(283-1,294));
                                       pStmt.setString (38, psRecordContent.substring(295-1,319));
                                       pStmt.setString (39, psRecordContent.substring(320-1,341));
                                       pStmt.setString (40, psRecordContent.substring(342-1,354));
                                       pStmt.setString (41, psRecordContent.substring(355-1,357));
                                       pStmt.setString (42, psRecordContent.substring(358-1,359));
                                       pStmt.setString (43, psRecordContent.substring(360-1,363));
                                       pStmt.setString (44, psRecordContent.substring(364-1,366));
                                       pStmt.setString (45, psRecordContent.substring(367-1,371));
                                       pStmt.setString (46, psRecordContent.substring(372-1,382));
                                       pStmt.setString (47, psRecordContent.substring(383-1,393));
                                       pStmt.setString (48, psRecordContent.substring(394-1,395));
                                       pStmt.setString (49, psRecordContent.substring(396-1,401));
                                       pStmt.setString (50, psRecordContent.substring(402-1,405));
                                       pStmt.setString (51, psRecordContent.substring(406-1,413));
                                       pStmt.setString (52, psRecordContent.substring(414-1,417));
                                       pStmt.setString (53, psRecordContent.substring(418-1,421));
                                       pStmt.setString (54, psRecordContent.substring(422-1,425));
                                       pStmt.setString (55, psRecordContent.substring(426-1,427));
                                       pStmt.setString (56, psRecordContent.substring(428-1,428));
                                       pStmt.setString (57, psRecordContent.substring(429-1,430));
                                       pStmt.setString (58, psRecordContent.substring(431-1,431));
                                       pStmt.setString (59, psRecordContent.substring(432-1,433));
                                       pStmt.setString (60, psRecordContent.substring(434-1,452));
                                       pStmt.setString (61, psRecordContent.substring(453-1,455));
                                       pStmt.setString (62, psRecordContent.substring(456-1,474));
                                       pStmt.setString (63, psRecordContent.substring(475-1,493));
                                       pStmt.setString (64, psRecordContent.substring(494-1,497));
                                       pStmt.setString (65, psRecordContent.substring(498-1,537));
                                       pStmt.setString (66, psRecordContent.substring(538-1,553));
                                       pStmt.setString (67, psRecordContent.substring(554-1,565));
                                       pStmt.setString (68, psRecordContent.substring(566-1,575));
                                       pStmt.setString (69, psRecordContent.substring(576-1,585));
                                       pStmt.setString (70, psRecordContent.substring(586-1,601));
                                       pStmt.setString (71, psRecordContent.substring(602-1,602));
                                       pStmt.setString (72, psRecordContent.substring(603-1,605));
                                       pStmt.setString (73, psRecordContent.substring(606-1,608));
                                       pStmt.setString (74, psRecordContent.substring(609-1,616));
                                       pStmt.setString (75, psRecordContent.substring(617-1,617));
                                       pStmt.setString (76, psRecordContent.substring(618-1,625));
                                       pStmt.setString (77, psRecordContent.substring(626-1,629));
                                       pStmt.setString (78, psRecordContent.substring(630-1,649));
                                       pStmt.setString (79, psRecordContent.substring(650-1,650));
                                       pStmt.setString (80, psRecordContent.substring(651-1,651));
                                       pStmt.setString (81, psRecordContent.substring(652-1,653));
                                       pStmt.setString (82, psRecordContent.substring(654-1,655));
                                       pStmt.setString (83, psRecordContent.substring(656-1,656));
                                       pStmt.setString (84, psRecordContent.substring(657-1,658));
                                       pStmt.setString (85, psRecordContent.substring(659-1,661));
                                       pStmt.setString (86, psRecordContent.substring(662-1,662));
                                       pStmt.setString (87, psRecordContent.substring(663-1,665));
                                       pStmt.setString (88, psRecordContent.substring(666-1,668));
                                       pStmt.setString (89, psRecordContent.substring(669-1,676));
                                       pStmt.setString (90, psRecordContent.substring(677-1,679));
                                       pStmt.setString (91, psRecordContent.substring(680-1,687));
                                       pStmt.setString (92, psRecordContent.substring(688-1,706));
                                       pStmt.setString (93, psRecordContent.substring(707-1,707));
                                       pStmt.setString (94, psRecordContent.substring(708-1,708));
                                       pStmt.setString (95, psRecordContent.substring(709-1,709));
                                       pStmt.setString (96, psRecordContent.substring(710-1,710));
                                       pStmt.setString (97, psRecordContent.substring(711-1,711));
                                       pStmt.setString (98, psRecordContent.substring(712-1,712));
                                       pStmt.setString (99, psRecordContent.substring(713-1,713));
                                       pStmt.setString (100, psRecordContent.substring(714-1,714));
                                       pStmt.setString (101, psRecordContent.substring(715-1,715));
                                       pStmt.setString (102, psRecordContent.substring(716-1,716));
                                       pStmt.setString (103, psRecordContent.substring(717-1,717));
                                       pStmt.setString (104, psRecordContent.substring(718-1,728));
                                       pStmt.setString (105, psRecordContent.substring(729-1,739));
                                       pStmt.setString (106, psRecordContent.substring(740-1,750));
                                       pStmt.setString (107, psRecordContent.substring(751-1,754));
                                       pStmt.setString (108, psRecordContent.substring(755-1,762));
                                       pStmt.setString (109, psRecordContent.substring(763-1,766));
                                       pStmt.setString (110, psRecordContent.substring(767-1,778));
                                       pStmt.setString (111, psRecordContent.substring(779-1,782));
                                       pStmt.setString (112, psRecordContent.substring(783-1,785));
                                       pStmt.setString (113, psRecordContent.substring(786-1,786));
                                       pStmt.setString (114, psRecordContent.substring(787-1,806));
                                       pStmt.setString (115, psRecordContent.substring(807-1,815));
                                       pStmt.setString (116, psRecordContent.substring(816-1,816));
                                       pStmt.setString (117, psRecordContent.substring(817-1,817));
                                       pStmt.setString (118, psRecordContent.substring(818-1,818));
                                       pStmt.setString (119, psRecordContent.substring(819-1,824));
                                       pStmt.setString (120, psRecordContent.substring(825-1,832));
                                       pStmt.setString (121, psRecordContent.substring(833-1,833));
                                       pStmt.setString (122, psRecordContent.substring(834-1,866));
                                       pStmt.setString (123, psRecordContent.substring(867-1,870));
                                       pStmt.setString (124, psRecordContent.substring(871-1,1070));
                                       if (pStmt.executeUpdate() != 1)
                                            throw new GenException ("Insertion failed");
                                            String psMsgType = psRecordContent.substring (184-1, 187);
                                            if (true)//updateTable (conn, pstmt, pstmt1, pstmt2, psRecordContent, out, bw))
                                                 if (psMsgType.equals ("0500") || psMsgType.equals ("0520"))
                                                           //piSettlementDR++;
                                                 if (psMsgType.equals ("0210"))
                                                           //piUpdatedDR++;
                                                 if (psMsgType.equals ("0220") || psMsgType.equals ("0320") || psMsgType.equals ("0420"))
                                                      //reversalDR++;
                                                 //validDR++;
                                  //totalDR++;
                             else if (psRecordContent.startsWith ("FT"))
                                  pcData = new char [HEADERSIZE];     // Reading next Record Header
                                  brPTLF.read (pcData, 0, HEADERSIZE);
                                  piRecordsize = Integer.parseInt (new String (pcData));
                                  piOffset += HEADERSIZE;
                                  pcData = new char [piRecordsize - HEADERSIZE];// Reading next Record Content (Must be TT)
                                  brPTLF.read (pcData, 0, piRecordsize - HEADERSIZE);
                                  psRecordContent = new String (pcData);
                                  piOffset += piRecordsize - HEADERSIZE;
                                  if (!psRecordContent.startsWith ("TT"))
                                       throw new GenException ("Total Trailer not Found.");
                                  pbEndOfFile = true;
                        } // while (piOffset < piBlocksize)
                   } // while (!pbEndOfFile)
                   brPTLF.close();
                   fPTLF.close();
                   pStmt.close();
              catch (Exception e)
                   moLogFile.printStackTrace(e);
              finally
                   mConnPool.free(pConn);
         public static void main(String args[])
              try
                   PTLFProcessor test=new PTLFProcessor("c:\\test.txt");
                   test.PTLFGetData();
              catch (Exception e)
                   clsLogFile.printStackTrace(e);
    }Now is the code with normal Statements
    //package mps.mpsPTLF;
    import java.io.*;
    import java.sql.*;
    import java.util.*;
    import java.util.Calendar;
    import java.util.Date;
    import gen.genCommon.genConnectionPool.*;
    import gen.genCommon.*;
    public class PTLFProcessor1
         private static clsLogFile moLogFile = new clsLogFile("");
         private gen.genCommon.genConnectionPool.SharedConnectionPool mConnPool = SharedConnectionPool.getInstance(2);
         FileReader fPTLF = null;
         BufferedReader brPTLF = null;
    //**************** Begin Constructor declaration ************************
    To intialize the class variables for new Fee
         public PTLFProcessor1(String pathPTLF) throws GenException
              try
                   fPTLF = new FileReader(pathPTLF);
                   brPTLF = new BufferedReader(fPTLF);
              catch (Exception e)
                   throw new GenException("Error Accessing file : " + pathPTLF + " - " + e.toString(),e );     
    //**************** End  Constructor declaration ************************
         public void PTLFGetData() throws GenException
              char pcData[];
              int HEADERSIZE = 6;
              boolean pbEndOfFile = false;
              boolean pbisFirstBlock = true;
              int piBlocksize = 0;
              int piOffset = 0;
              int piRecordsize = 0;
              String psRecordContent = "";
              Connection pConn = null;
              int cnt=0;
              try
                   String psInsSql=" INSERT INTO FILE_PTLF_IN ( " +
                                       " fpi_DAT_TIM , " +
                                       " fpi_REC_TYP , " +
                                       " fpi_CRD_LN , " +
                                       " fpi_CRD_FIID , " +
                                       " fpi_CRD_NUM , " +
                                       " fpi_MBR_NUM , " +
                                       " fpi_MER_LN , " +
                                       " fpi_MER_FIID , " +
                                       " fpi_MER_GRP , " +
                                       " fpi_MER_REGN , " +
                                       " fpi_MER_ID , " +
                                       " fpi_TERM_ID , " +
                                       " fpi_SHIFT_NUM , " +
                                       " fpi_BATCH_NUM , " +
                                       " fpi_TERM_LN , " +
                                       " fpi_TERM_FIID , " +
                                       " fpi_TERM_ID_1 , " +
                                       " fpi_TRAN , " +
                                       " fpi_TERM_ID_2 , " +
                                       " fpi_REC_FRMT , " +
                                       " fpi_MER_ID_1 , " +
                                       " fpi_CLERK_ID , " +
                                       " fpi_DATA_FLAG , " +
                                       " fpi_TYP , " +
                                       " fpi_RTE_STAT , " +
                                       " fpi_ORIGINATOR , " +
                                       " fpi_RESPONDER , " +
                                       " fpi_ISS_CDE , " +
                                       " fpi_ENTRY_TIM , " +
                                       " fpi_EXIT_TIM , " +
                                       " fpi_RE_ENTRY_TIM , " +
                                       " fpi_TRAN_DAT , " +
                                       " fpi_TRAN_TIM , " +
                                       " fpi_POST_DAT , " +
                                       " fpi_ACQ_ICHG_SETL_DAT , " +
                                       " fpi_ISS_ICHG_SETL_DAT , " +
                                       " fpi_SEQ_NUM , " +
                                       " fpi_TERM_NAME_LOC , " +
                                       " fpi_TERM_OWNER_NAME , " +
                                       " fpi_TERM_CITY , " +
                                       " fpi_TERM_ST , " +
                                       " fpi_TERM_CNTRY_CDE , " +
                                       " fpi_BRCH_ID , " +
                                       " fpi_USER_FLD2 , " +
                                       " fpi_TERM_TIM_OFST , " +
                                       " fpi_ACQ_INST_ID_NUM , " +
                                       " fpi_RCV_INST_ID_NUM , " +
                                       " fpi_TERM_TYP , " +
                                       " fpi_CLERK_ID_1 , " +
                                       " fpi_GRP , " +
                                       " fpi_USER_ID , " +
                                       " fpi_RETL_SIC_CDE , " +
                                       " fpi_ORIG , " +
                                       " fpi_DEST , " +
                                       " fpi_TC , " +
                                       " fpi_T , " +
                                       " fpi_AA , " +
                                       " fpi_C , " +
                                       " fpi_CRD_TYP , " +
                                       " fpi_ACCT , " +
                                       " fpi_RESP_CDE , " +
                                       " fpi_AMT_1 , " +
                                       " fpi_AMT_2 , " +
                                       " fpi_EXP_DAT , " +
                                       " fpi_TRACK2 , " +
                                       " fpi_PIN_OFST , " +
                                       " fpi_PRE_AUTH_SEQ_NUM , " +
                                       " fpi_INVOICE_NUM , " +
                                       " fpi_ORIG_INVOICE_NUM , " +
                                       " fpi_AUTHORIZER , " +
                                       " fpi_AUTH_IND , " +
                                       " fpi_SHIFT_NUM_1 , " +
                                       " fpi_BATCH_SEQ_NUM , " +
                                       " fpi_APPRV_CDE , " +
                                       " fpi_APPRV_CDE_LGTH , " +
                                       " fpi_ICHG_RESP , " +
                                       " fpi_PSEUDO_TERM_ID , " +
                                       " fpi_RFRL_PHONE , " +
                                       " fpi_DFT_CAPTURE_FLG , " +
                                       " fpi_SETL_FLAG , " +
                                       " fpi_RVRL_CDE , " +
                                       " fpi_REA_FOR_CHRGBCK , " +
                                       " fpi_NUM_OF_CHRGBCK , " +
                                       " fpi_PT_SRV_COND_CDE , " +
                                       " fpi_PT_SRV_ENTRY_MDE , " +
                                       " fpi_AUTH_IND2 , " +
                                       " fpi_ORIG_CRNCY_CDE , " +
                                       " fpi_AUTH_CRNCY_CDE , " +
                                       " fpi_AUTH_CONV_RATE , " +
                                       " fpi_SETL_CRNCY_CDE , " +
                                       " fpi_SETL_CONV_RATE , " +
                                       " fpi_CONV_DAT_TIM , " +
                                       " fpi_IMP_IND , " +
                                       " fpi_AVAIL_BAL , " +
                                       " fpi_LEDG_BAL , " +
                                       " fpi_AMT_ON_HOLD , " +
                                       " fpi_TTL_FLOAT , " +
                                       " fpi_CUR_FLOAT , " +
                                       " fpi_ADJ_SETL_IMPACT_FLG , " +
                                       " fpi_PBF1 , " +
                                       " fpi_PBF2 , " +
                                       " fpi_PBF3 , " +
                                       " fpi_PBF4 , " +
                                       " fpi_FRWD_INST_ID_NUM , " +
                                       " fpi_CRD_ACCPT_ID_NUM , " +
                                       " fpi_CRD_ISS_ID_NUM , " +
                                       " fpi_ORIG_MSG_TYP , " +
                                       " fpi_ORIG_TRAN_TIM , " +
                                       " fpi_ORIG_TRAN_DAT , " +
                                       " fpi_ORIG_SEQ_NUM , " +
                                       " fpi_ORIG_B24_POST_DAT , " +
                                       " fpi_EXCP_RSN_CDE , " +
                                       " fpi_OVRRDE_FLG , " +
                                       " fpi_ADDR , " +
                                       " fpi_ZIP_CDE , " +
                                       " fpi_ADDR_VRFY_STAT , " +
                                       " fpi_PIN_IND , " +
                                       " fpi_PIN_TRIES , " +
                                       " fpi_PRE_AUTH_TS_DAT , " +
                                       " fpi_PRE_AUTH_TS_TIM , " +
                                       " fpi_PRE_AUTH_HLDS_LVL , " +
                                       " fpi_USER_FLD5 , " +
                                       " fpi_LEN , " +
                                       " fpi_INFO )" +
                                       " VALUES ";
                                       ( " +
                                       " ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, " +
                                       " ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, " +
                                       " ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, " +
                                       " ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, " +
                   pConn = mConnPool.getConnection();
                   Statement Stmt=pConn.createStatement();
                   while (!pbEndOfFile)
                        pcData = new char [HEADERSIZE];                    // Reading each Block Header
                        brPTLF.read (pcData, 0, HEADERSIZE);
                        piBlocksize = Integer.parseInt (new String (pcData));
                        piOffset = HEADERSIZE;
                        while (piOffset < piBlocksize)
                        {                      // Read the records upto end of block
                             pcData = new char [HEADERSIZE];               // Reading each Record Header
                             brPTLF.read (pcData, 0, HEADERSIZE);
                             piRecordsize = Integer.parseInt (new String (pcData));
                             piOffset += HEADERSIZE;
                             pcData = new char [piRecordsize - HEADERSIZE];     // Reading each Record Content
                             brPTLF.read (pcData, 0, piRecordsize - HEADERSIZE);
                             psRecordContent = new String (pcData);
                             piOffset += piRecordsize - HEADERSIZE;
                             if (pbisFirstBlock)
                                  if (!psRecordContent.startsWith ("TH"))
                                       throw new GenException ("Invalid File Format, missing 'TH'");
                                  pcData = new char [HEADERSIZE];          // Reading next Record Header
                                  brPTLF.read (pcData, 0, HEADERSIZE);
                                  piRecordsize = Integer.parseInt (new String (pcData));
                                  piOffset += HEADERSIZE;
                                  pcData = new char [piRecordsize - HEADERSIZE];// Reading next Record Content (Must be FH)
                                  brPTLF.read (pcData, 0, piRecordsize - HEADERSIZE);
                                  psRecordContent = new String (pcData);
                                  piOffset += piRecordsize - HEADERSIZE;
                                  if (!psRecordContent.startsWith ("FH"))
                                       throw new GenException ("File Header Not Found");
                                  pbisFirstBlock = false;
                             else if (psRecordContent.startsWith ("DR"))
                                  psRecordContent = psRecordContent.substring(2);
                        /*          if (psRecordContent.length() != 1820 ) // && psRecordContent.length() != 846)
                                       // insert in error table
                                       continue;
                                  String psValues = null;
                                  if ( psRecordContent.substring(453-1, 455).equals ("000") || psRecordContent.substring(453-1, 455).equals ("001") )
                                       psValues = "('" +  psRecordContent.substring(1-1,19) + "','" +
                                                        psRecordContent.substring(20-1,21) + "','" +
                                                       psRecordContent.substring(22-1,25) + "','" +
                                                       psRecordContent.substring(26-1,29) + "','" +
                                                       psRecordContent.substring(30-1,48) + "','" +
                                                       psRecordContent.substring(49-1,51) + "','" +
                                                       psRecordContent.substring(52-1,55) + "','" +
                                                       psRecordContent.substring(56-1,59) + "','" +
                                                       psRecordContent.substring(60-1,63) + "','" +
                                                       psRecordContent.substring(64-1,67) + "','" +
                                                       psRecordContent.substring(68-1,86) + "','" +
                                                       psRecordContent.substring(87-1,102) + "','" +
                                                       psRecordContent.substring(103-1,105) + "','" +
                                                       psRecordContent.substring(106-1,108) + "','" +
                                                       psRecordContent.substring(109-1,112) + "','" +
                                                       psRecordContent.substring(113-1,116) + "','" +
                                                       psRecordContent.substring(117-1,132) + "','" +
                                                       psRecordContent.substring(133-1,140) + "','" +
                                                       psRecordContent.substring(141-1,156) + "','" +
                                                       psRecordContent.substring(157-1,157) + "','" +
                                                       psRecordContent.substring(158-1,176) + "','" +
                                                       psRecordContent.substring(177-1,182) + "','" +
                                                       psRecordContent.substring(183-1,183) + "','" +
                                                       psRecordContent.substring(184-1,187) + "','" +
                                                       psRecordContent.substring(188-1,189) + "','" +
                                                       psRecordContent.substring(190-1,190) + "','" +
                                                       psRecordContent.substring(191-1,191) + "','" +
                                                       psRecordContent.substring(192-1,193) + "','" +
                                                       psRecordContent.substring(194-1,212) + "','" +
                                                       psRecordContent.substring(213-1,231) + "','" +
                                                       psRecordContent.substring(232-1,250) + "','" +
                                                       psRecordContent.substring(251-1,256) + "','" +
                                                       psRecordContent.substring(257-1,264) + "','" +
                                                       psRecordContent.substring(265-1,270) + "','" +
                                                       psRecordContent.substring(271-1,276) + "','" +
                                                       psRecordContent.substring(277-1,282) + "','" +
                                                       psRecordContent.substring(283-1,294) + "','" +
                                                       psRecordContent.substring(295-1,319) + "','" +
                                                       psRecordContent.substring(320-1,341) + "','" +
                                                       psRecordContent.substring(342-1,354) + "','" +
                                                       psRecordContent.substring(355-1,357) + "','" +
                                                       psRecordContent.substring(358-1,359) + "','" +
                                                       psRecordContent.substring(360-1,363) + "','" +
       

    You posted this question in several other forums. Please don't do that.

  • Printing from Acrobat Reader Linux is many time slower than from Windows Reader

    The users are complaining to me that same file is printing one page every couple minute under Linux, while under Windows pages from the same file print one after another very quickly.
    Hardware is not affecting that as they are using dual-boot Fedora 14 and XP on the same machines, printing to the same HP LaserJet printer over JetDirect.

    Also, I am noticing that scrolling page thumbnails and flipping pages is many times slower under Linux than under Windows on the same machine, but CPU utilization is very low.
    Can one of the Linux Acrobat developers look into performance issues please?

  • Join same table 3 times, count from two other tables

    Hi all!
    I have 3 tables
    RECORDS
    Id, Record_Id
    ITEMS
    Id, Record_Id
    ARTICLES
    Id, Record_Id
    I need to join RECORDS table 3 times R1,R2,R3 and get count of items R2 and R3 have and count articles that R3 has.
    R2 must have ITEMS and R3 must have items, R3 may have articles. R1 may have multiple children and R2 may have multiple children.
    Solution I'm using is following, but distinct makes it slow...
    select r1 as ParentRecordId,count(distinct i1) as Volumes,count(distinct i2) as Numbers, count(distinct a1) as Articles
    from
        select r1.id as r1,i1.id as i1,i2.id as i2,a.id as a1
        from records r1 inner join records r2 on r1.id=r2.record_id
        inner join records r3 on r2.id=r3.record_id
        inner join items i1 on r2.id=i1.record_id
        inner join items i2 on r3.id=i2.record_id
        left join articles a on a.record_id=r3.id
    ) as sel
    group by r1
    order by 1
    Regards
    Meelis

    Please post DDL, so that people do not have to guess what the keys, constraints, Declarative Referential Integrity, data types, etc. in your schema are. Learn how to follow ISO-11179 data element naming conventions and formatting rules. Temporal data should
    use ISO-8601 formats. Code should be in Standard SQL as much as possible and not local dialect. 
    This is minimal polite behavior on SQL forums. And thanks for no sample, too! 
    >> I have 3 tables <<
    No, you have three identical decks of 1950's punch cards written in bad SQL. 
    There is no such thing as a generic, universal “id” in RDBMS. It has to be the identifier of something particular. 
    Magical columns appear in your query. 
    There is no such concept as “child' and “parent” in RDBMS. That was network and hierarchical databases. We have referenced and referencing tables. 
    We do not use column positions in the ORDER BY cause; any change in the query used in the cursor will screw up everything. 
    Would you like to try again? 
    --CELKO-- Books in Celko Series for Morgan-Kaufmann Publishing: Analytics and OLAP in SQL / Data and Databases: Concepts in Practice Data / Measurements and Standards in SQL SQL for Smarties / SQL Programming Style / SQL Puzzles and Answers / Thinking
    in Sets / Trees and Hierarchies in SQL

  • Ipa-ad-hoc 5 times slower than ipa-test

    Hello,
    I have successfully packaged my quite big app (3.5 MB swf and 24MB whole ipa file) in ipa-test package and it works quite good
    But after compilation in ipa-ad-hoc package it is much slower - about 5 times, when loading and during work, especially when i.e. clicking an action for the first time (second time it is faster but not as fast as in ipa-test)
    Is it possible? I've thought that these types of packages are the same - that this is compiled native code for iOS, and difference is only in certificates
    I use 3.2 AIR, 4.6.0 Flex, Helo theme in compability mode for Flex 3 (unfortunately I cannot now switch to Spark components)
    On android it works very ok (better even than in ipa-test mode), but I also would like have this app for iOS
    Regards
    Adam

    Try - maybe they can help, I couldnt find anybody who had this problem.
    Maybe you could make new project and check if it works fast enough in ad-hoc and then copy some pieces of your project to this new project... I sometimes use to find an error cutting project in half and looking for error, stupid but works Good luck

  • Compiling jsp pages in wl 10.0 2 times slower than wl 9.1

    Hi:
    I have enterprise application. In weblogic 9 it took 4-5min to compile all the jsp pages, in weblogic 10 it takes 10-11min!!
    Is there anything I can do to speed it up?

    Hi, thanks for your answers.
    Yes, I actually build the ear file and then I call weblogic.appc on it. And again, on wl 9 it used to take 4-5min, now it is taking 10-11min. Most of the time of the build process is taken by the page compilation.
    The other thing I noticed is that if I change a page the time it takes WL to recompile the page is way longer than before. I have to wait for a good 14-15seconds until the weblogic returns the new page. The weblogic java process goes up to almost 100%. Before, in WL 9 I had to wait just a few seconds. And ok, my computer is a dual core at 2.33GHz. Don't tell me I need to upgrade :-).
    I realize that the jsp compilation must have gotten more complicated because now jsf & jsp are unified but still....
    My app is a jsf application and I also use tag files.
    About precompiling the pages... I build the application on windows then I deploy it on linux. In WL 9, whenever I deployed the app, I had to precompile the pages otherwise the users experienced slower responses the first time. For whatever reason WL 9 didn't think the pages were already precompiled (they were part of the ear file). In WL 10 that seemed to have been fixed.

  • Mac version 4 times slower than PC version of CS3

    Just ran the same Comp in CS3 on both my winXP PC with a dual-core 2.6GHZ processor, 4GB RAM and on my doible dual-core 2.6Ghz on my Mac with OSX 10.5 and 9GB RAM both with Multiprocessor option turned on.
    I had purged the memory before hand and by the time the PC had completed the 139 frames the Mac was still on frame 30!
    I was using a 3D camera move through a particle system with an Adobe Illustrator CS3 file in it and motion blur on. I am amazed that the Mac with twice the processing power is slower!
    ANy ideas why this might happen.

    I don't think anyone intentionally spoils his products, least of all Adobe, who actually were one of the companies that made Macs so popular in the old days due to Photoshop... You should simply consider the state in which the Mac is:
    a)Apple have failed in providing a stable implementation for OpenGL ever since OSX arrived. Only 10.5.3 finally added native support for more advanced features, but peopel still have to use their own code and implement workarounds to boost performance
    b)The processor swing 3 years ago left everyone with having to adapt their code. In case of Adobe with a ton of complex products this meant a lot of extra, wasted work just for that.
    c)Now, on the threshold of native 64bit apps on the Mac, Apple again forced people to adapt and spent valuable time by not supporting Carbon any longer.
    As you see, it is actually more a matter of Apple giving folks a hard time to keep up. If you took the development time and money spent on those conversions, sure we would see a different set of features/ more features in some programs.
    Anyway, regarding your original problem: I'm not aware of a standardized benchmarking test for AE, which is probably not possible at all, given how many different footage types, layers, 3D, disk cache, media cache and whatnot you would need to consider. If you are seeing similar loss of performance in CS4, then something is really askew. I suggest you at least try to play with the number of cores to use for rendering. It should make a noticeable difference.
    Mylenium

  • Shake reduction in Photoshop CC (2014) is 20 to 50 times slower than in Photoshop CC

    I asked the same question earlier and got no good answer.
    I have replaced my graphics card and software several times and it had made no difference. I even removed my graphics card and it made no difference.  I went from an HD 7750 to a Firepro V3900 to a GeForce 430 to no graphics card at all - each time removing all traces of previous graphics software per manufacturers instructions.  No matter what, Photoshop CC (2014) takes minutes (or never completes) to do the same action that Photoshop CC does in under 5 seconds.  Have removed and reinstalled Creative Cloud app and all Abobe apps - still no change.

    Perhaps to avoid any ambiguity, we should get a bit more specific.  I say this because given a particular blur trace, the filter will commence pre-processing the image before you hit OK.  How about we all try the Shake Reduction function on the very same image with both Photoshop CC 14.x and Photoshop CC (2014).
    Here's a test image to try it with:  http://Noel.ProDigitalSoftware.com/ForumPosts/ElTeide.jpg
    Here's a controlled way to test:
    Set either your status indicator (at the bottom-left of your work area) or your Info panel to read out the Timing of operations.
    Start Filter - Sharpen - Shake Reduction.
    Allow the blur estimation process to complete, then press [ OK ].
    Edit - Undo (or press Control-Z)
    Now press Control-F to repeat the filter from start to finish without the UI.
    Read the time it took to complete from the status or info panel.
    Do steps 4,5,6 several times and note the SHORTEST time.
    Time to complete the Control-F operation:
    Photoshop CC 14.x:  20.4 seconds
    Photoshop CC (2014):  22.1 seconds
    I found kind of the opposite of JJ above...  For me it seemed kind of like Ps 2014 used a bit less CPU time overall...
    Photoshop CC 14.x:
    Photoshop CC (2014):
    -Noel

  • Regression? Adobe CMIS Connector 4.2 and CC ten times slower than 4.0.

    Hello dear forum members!
    We developed an Adobe Drive CMIS connector for our DAM system and noticed a major navigation performance degradation
    when updating CMIS connector on windows client systems from Version 4.0 to Version 4.2 or CC.
    When visiting a folder:
    Version 4.0 does a getChildren request ("children" url) and is finished: 1 call
    Version 4.2 and CC do a getChildren request and IN ADDITION call:
       - getObjectParents ("parents" url) for each object in folder
       - getObjectParents for folder of path of each object
    So lets say you have some folderX with path
    /top1/folder1/folderX
    containing 500 images of some photo session that needs sorting you get
    1x getChildren
    500x getObjectParents (one for each image)
    2x500x getObjectParents (2 for each folder of path of each image)
    in sum: 1501 calls until that same folder gets displayed.
    Any chance that this gets fixed on Adobe Drive CMIS connector?
    Can we do something on server side to prevent that behavior?
    Does Adobe Drive support paging in big folders?
    Anything else we can do to help?
    Regards,
        Carsten

    Hello together,
    I noticed the same issue on Adobe Drive 5.
    After accessing a folder with 35 files in it on Adobe Drive MAC CMIS Connector I saw over 200 HTTP Requests over the network (AtomPub).
    On other CMIS Clients it were only 14 requests.
    On Windows Adobe Drive CMIS Connector I did not record the requests but on windows it was anyway much much faster.
    I assume the Java layer is the same on Windows and Mac so I think that maybe the underlying AdobeDrive4 filesystem (at least "mount" shows an "AdobeDrive4"  FS) implementation on Mac polls very often and this results in extensive HTTP requests. Thats why I also thought of writing an own CMIS Connector which uses clever caching.
    Maybe we can bundle our ideas and implement a fast open source CMIS 1.1 Connector for Adobe Drive?
    @md_Zool:
    How are your experiences with an own Connector?
    Could you speed up things at Mac?
    Maybe Adobe also can also shed some light on this issue?
    tia
    Cheers
    Sascha

Maybe you are looking for

  • Union report in obiee 11g problem

    HI,     I build union report in obiee 11g.In that report i have one column i.e Financial month.I have excluded Financial month column in table view.     Now my requirement is I have to show results based Financial month at dashboard.For example if i

  • Cash Flow Report - Documentation

    Hi, I need the documentation for 'Cash Flow' Report in SAP B1 under Financial reports. Kindly send me the link for the same. Thanks. Sid

  • Safari 8.0 doesn't recognize the first letter in forms

    Safari 8.0 constantly misses the first letter when typing messages on Twitter/Facebook or Search box on Amazon. For example, when I want type "Hello" only "ello" comes out, then I have to go back and fill in "H". i've never had this problem until Yos

  • Re-numbering Images In My Catalogue

    Q: Is there any (easy) way to re-number in sequential order my 6000 images *without* changing the names of the individual files? My setup: LR v5.3 6000 images in a master Nikon file About 40 sub-folders inside of that Master Nikon Folder Just one cat

  • How to fix NIS domain name not set after upgrade

    I finally updated after thousands of years. As pacman was spewing, I noticed that it moved /etc/conf.d/nisdomainname to .pacsave. Uh, whatever, says I. Must be a package issue. So I just reboot...and of course ypbind can't connect to anything because