performance issue in 3.7 application & SQL 2000 DB

bdurgabdurga Member Posts: 44
Dear friends,

Our client is facing a performance issue. Our application comes to a deadlock situation when the number of live user are more than 45(but the licensed number of users are 86).

we are trying to solve this issue , performance by altering some customized coding. In all our customization we have locked the table using the following coding pattern,

<record variable>.LOCKTABLE;

<set the filter if required using SETRANGE/SETFILTER>
<performed the insertion, or deletion using INSERT/DELETE,DELETEALL>
COMMIT;

can any one suggest if our application performance will improve if we change our lock table pattern as below using the SLEEP command.
<record variable>.LOCKTABLE;SLEEP(2000); //Allowing the table or record variable to SLEEP for about 2000 milli seconds
<set the filter if required using SETRANGE/SETFILTER>
<performed the insertion, or deletion using INSERT/DELETE,DELETEALL>
COMMIT;

can any one suggest us will the usage of SLEEP command while locking the table will release the lock of a particular table in the defined time and relieve the application from dead lock situation.

Thanks in advance,

Regards,
B.Durgalakshmi

Comments

  • kapamaroukapamarou Member Posts: 1,152
    I think it will ... just delay your deadlock for 2 seconds... :D


    Performance and deadlocks are to different but related issues.

    For deadlocks you need to follow the same table locking order to avoid it.
    Improving your performance means less time for a transaction, thus less deadlocks, but not zero deadlocks...

    If you are on SQL the lock will be placed not with the locktable command but with the following
    FIND / INSERT / MODIFY / DELETE command...

    If you search this forum you'll find a lot of info on deadlocks and performance...
  • DenSterDenSter Member Posts: 8,304
    I don't think adding the sleep command will solve anything, it will only make the process take 2 more seconds.
  • kinekine Member Posts: 12,562
    1) Locks are released when data are commited or rolled back.
    2) To have best performance, you need to make te time between locking and releasing AS SHORT AS POSSIBLE! not to make them LONGER by sleeping...
    3) Please, read some books about SQL optimalization on this forum to understand fully what is going on. Trying to solve things you do not understand can be dangerous. Of course, it is general rule. I know nothing about your knowledge...
    Kamil Sacek
    MVP - Dynamics NAV
    My BLOG
    NAVERTICA a.s.
Sign In or Register to comment.