Urgent pls: Poor performance on update/insert

From: Aykut Canturk (aykut.canturk_at_karina-mira.com)
Date: 01/27/05


Date: Thu, 27 Jan 2005 13:50:44 +0200

I need to update a set of records in SQL server table.
But due to neccessities, the number of records on the screen can be
different from the number of records in database.

If a record exits on database, I need to update it. if it doesn't I need to
insert a new one

the sample code is below. but the performance is very poor. I works a little
slow on development computer. I mean application and SQL server are both
installed on same PC. but it you separete them and take SQL server to
another PC on network (which is full dublex 100mbps) performace becomes very
boring stages. even for 20 records (600 total records on table) this
procedure waits very very long times like 10 to 20 seconds.

Any idea about how can I make this routine faster ? for example with single
sql statement or someting.

PS: guidid field is the key field on this table.

    cn.Open ConnectionString

    cn.BeginTrans

    sqlstr = "SELECT * FROM rackrates"

    rst.Open sqlstr, cn, adOpenDynamic, adLockOptimistic

    For a = 1 To RoomCount

 CurrentRecordGuidid = myarray(a) ' get record guidid to be updated or
added from an array

        rst.Filter = "guidid='" & CurrentRecordGuidid & "' "

        If rst.BOF And rst.EOF Then ' means no record, let's add one
            rst.AddNew
        End If

            rst("guidid") = CurrentRecordGuidid

            rst("name") = "something"

' .... update other fields

            rst.Update
    Next
    cn.CommitTrans



Relevant Pages

  • Re: MS Access DAO -> ADO.NET Migration
    ... William Vaughn ... Microsoft MVP ... Hitchhiker's Guide to Visual Studio and SQL Server ... My migration app works building a SSCE database file with imported data ...
    (microsoft.public.dotnet.framework.adonet)
  • Re: Cluster will not fail over.
    ... > As far as the TCP/IP issue goes, you had to rebuild the cluster and were ... > able to restore the master database. ... > a cluster installation you'll have to revisit. ... >> This worked bringing up the sql server in minimal mode. ...
    (microsoft.public.sqlserver.clustering)
  • Re: Word 2003/Access2000/SQLSVR
    ... SQL server being where the data is held and this is accessed through a MS ... entire database and that may be say a record for Berkshire. ... "Peter Jamieson" wrote: ... replaced with the first record on the table in use. ...
    (microsoft.public.word.mailmerge.fields)
  • Re: MS Access DAO -> ADO.NET Migration
    ... full SQL Server and I see the logic you explained in a multi user ... allow two users to access the same database file Read/Write at any given ... The book was a pleasure to read after the gibberish that Microsoft 'puts ... Hitchhiker's Guide to Visual Studio and SQL Server ...
    (microsoft.public.dotnet.framework.adonet)
  • Re: MS Access DAO -> ADO.NET Migration
    ... For that it is much harder to handle the incremental identifier, ... database but although they have the data, they are not connected at the same ... The book was a pleasure to read after the gibberish that Microsoft 'puts ... SQL Server Management Studio is nowhere to be found on my ...
    (microsoft.public.dotnet.framework.adonet)