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
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users