Hello, I recently wrote a software which decodes some binary data and then insert as a record into sqlite database. I check the code execution time and following are the results:
Note: FLAG-2 indicates execution time of different procedure to decode data FLAG-3 shows the time to insert the data Number in front of procedure name shows the time in micro seconds Can any expert guide me where I am doing wrong? Execution time: Flag-2 HEADER CHARGING_BLOCK_SIZE 49 Flag-2 HEADER TAPE_BLOCK_TYPE 47 Flag-2 HEADER DATA_LENGTH_IN_BLOCK 46 Flag-2 HEADER EXCHANGE_ID 52 Flag-2 HEADER FIRST_RECORD_NUMBER 59 Flag-2 HEADER BATCH_SEQ_NUMBER 57 Flag-2 HEADER BLOCK_SEQ_NUMBER 44 Flag-2 HEADER START_TIME 105 Flag-2 HEADER FORMAT_VERSION 209 Flag-2 HEADER FORMAT_VERSION 168443 Flag-2 Total Time 169642 Flag-2 46 Flag-2 PTC RECORD_NUMBER 101 Flag-2 PTC RECORD_STATUS 46 Flag-2 PTC CHECK_SUM 1569 Flag-2 PTC CALL_REFERENCE 72 Flag-2 PTC EXCHANGE_ID 19 Flag-2 PTC INTERMEDIATE_RECORD_NUMBER 23 Flag-2 PTC INTERMEDIATE_CHARGING_IND 43 Flag-2 PTC NUMBER_OF_SS_RECORDS 23 Flag-2 PTC CALLING_NUMBER_TON 113 Flag-2 PTC CALLING_NUMBER 37 Flag-2 PTC CALLED_NUMBER_TON 98 Flag-2 PTC CALLED_NUMBER 35 Flag-2 PTC OUT_CIRCUIT_GROUP 38 Flag-2 PTC OUT_CIRCUIT 38 Flag-2 PTC IN_CHANNEL_ALLOCATED_TIME 73 Flag-2 PTC CHARGING_START_TIME 70 Flag-2 PTC CHARGING_END_TIME 76 Flag-2 PTC CAUSE_FOR_TERMINATION 1406 Flag-2 PTC CALL_TYPE 65 Flag-2 PTC TICKET_TYPE 48 Flag-2 PTC OAZ_CHRG_TYPE 84 Flag-2 PTC OAZ_DURATION 53 Flag-2 PTC OAZ_TARIFF_CLASS 45 Flag-2 PTC OAZ_PULSES 39 Flag-2 PTC CALLED_MSRN_TON 103 Flag-2 PTC CALLED_MSRN 35 Flag-2 PTC INTERMEDIATE_CHRG_CAUSE 197 Flag-2 PTC LEG_CALL_REFERENCE 59 Flag-2 PTC OUT_CHANNEL_ALLOCATED_TIME 72 Flag-2 PTC BASIC_SERVICE_TYPE 43 Flag-2 PTC BASIC_SERVICE_CODE 272 Flag-2 PTC CALL_REFERENCE_TIME 72 Flag-2 PTC CUG_INTERLOCK 70 Flag-2 PTC CUG_OUTGOING_ACCESS 65 Flag-2 PTC CUG_INFORMATION 44 Flag-2 PTC SCP_CONNECTION 47 Flag-2 PTC NUMBER_OF_IN_RECORDS 23 Flag-2 PTC NUMBER_OF_ALL_IN_RECORDS 23 Flag-2 PTC OUTSIDE_USER_PLANE_INDEX 39 Flag-2 PTC OUTSIDE_CONTROL_PLANE_INDEX 38 Flag-2 PTC OUT_BNC_CONNECTION_TYPE 69 Flag-2 PTC LOC_ROUTING_NUMBER 39 Flag-2 PTC LOC_ROUTING_NUMBER_TON 96 Flag-2 PTC NPDB_QUERY_STATUS 71 Flag-2 PTC IN_CIRCUIT_GROUP_NAME 26 Flag-3 PTC OUT_CIRCUIT_GROUP_NAME 20 Flag-4 Insert time 151590 Flag-5 Total Time 158077 My Code is as below: This is one time statement and does account for the long time as the table was created once only # PSTN Terminating Call db1 eval {CREATE TABLE PTC( RECORD_LENGTH text, RECORD_TYPE text, RECORD_NUMBER text, RECORD_STATUS text, CHECK_SUM text, CALL_REFERENCE text, EXCHANGE_ID text, INTERMEDIATE_RECORD_NUMBER text, INTERMEDIATE_CHARGING_IND text, NUMBER_OF_SS_RECORDS text, CALLING_NUMBER_TON text, CALLING_NUMBER text, CALLED_NUMBER_TON text, CALLED_NUMBER text, OUT_CIRCUIT_GROUP text, OUT_CIRCUIT text, IN_CHANNEL_ALLOCATED_TIME text, CHARGING_START_TIME text, CHARGING_END_TIME text, CAUSE_FOR_TERMINATION text, CALL_TYPE text, TICKET_TYPE text, OAZ_CHRG_TYPE text, OAZ_DURATION text, OAZ_TARIFF_CLASS text, OAZ_PULSES text, CALLED_MSRN_TON text, CALLED_MSRN text, INTERMEDIATE_CHRG_CAUSE text, LEG_CALL_REFERENCE text, OUT_CHANNEL_ALLOCATED_TIME text, BASIC_SERVICE_TYPE text, BASIC_SERVICE_CODE text, CALL_REFERENCE_TIME text, CUG_INTERLOCK text, CUG_OUTGOING_ACCESS text, CUG_INFORMATION text, SCP_CONNECTION text, NUMBER_OF_IN_RECORDS text, NUMBER_OF_ALL_IN_RECORDS text, OUTSIDE_USER_PLANE_INDEX text, OUTSIDE_CONTROL_PLANE_INDEX text, OUT_BNC_CONNECTION_TYPE text, LOC_ROUTING_NUMBER text, LOC_ROUTING_NUMBER_TON text, NPDB_QUERY_STATUS text, IN_CIRCUIT_GROUP_NAME text, OUT_CIRCUIT_GROUP_NAME text)} Insert Statement (in TCL): switch -exact -- $Variable_Record_Type { HEADER { db1 eval "INSERT INTO HEADER($Variable_Column_Name) VALUES ($Variable_Column_Value)"} TRAILER { db1 eval "INSERT INTO TRAILER($Variable_Column_Name) VALUES ($Variable_Column_Value)" MOC { db1 eval "INSERT INTO MOC($Variable_Column_Name) VALUES ($Variable_Column_Value)" MTC { db1 eval "INSERT INTO MTC($Variable_Column_Name) VALUES ($Variable_Column_Value)" FORW { db1 eval "INSERT INTO FORW($Variable_Column_Name) VALUES ($Variable_Column_Value)" and so on... } where $Variable_Column_Name and $Variable_Column_Values are list -- View this message in context: http://www.nabble.com/Slow-Performance-for-INSERT-tp21647577p21647577.html Sent from the SQLite mailing list archive at Nabble.com. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users