Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C#
  4. Oracle too slow in .Net

Oracle too slow in .Net

Scheduled Pinned Locked Moved C#
csharpcssdatabaseoracle
8 Posts 4 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • E Offline
    E Offline
    ElCachubrey
    wrote on last edited by
    #1

    Hi all. I have to read from oracle data base large amount of data (about 5000 records), and i use for this purpose standard procedure oraDataTableAdapter.Fill(oraDataTable) , but this working very slow (about 15 seconds). In other side when i fill data table from MS SQL (with same number of records) its occupied mach less time. How i can to decrease time consumption for this operation for Oracle. THANK

    N G E 3 Replies Last reply
    0
    • E ElCachubrey

      Hi all. I have to read from oracle data base large amount of data (about 5000 records), and i use for this purpose standard procedure oraDataTableAdapter.Fill(oraDataTable) , but this working very slow (about 15 seconds). In other side when i fill data table from MS SQL (with same number of records) its occupied mach less time. How i can to decrease time consumption for this operation for Oracle. THANK

      N Offline
      N Offline
      Not Active
      wrote on last edited by
      #2

      Convert to SQL Server


      only two letters away from being an asset

      1 Reply Last reply
      0
      • E ElCachubrey

        Hi all. I have to read from oracle data base large amount of data (about 5000 records), and i use for this purpose standard procedure oraDataTableAdapter.Fill(oraDataTable) , but this working very slow (about 15 seconds). In other side when i fill data table from MS SQL (with same number of records) its occupied mach less time. How i can to decrease time consumption for this operation for Oracle. THANK

        G Offline
        G Offline
        Guffa
        wrote on last edited by
        #3

        5000 records isn't really that much data, even a whole second would be too slow for getting the data. Do you have any means of running the query in a management tool in the database, so that you see if the query itself is slow, or the transfer to the DataTable. If the query itself is slow, check if you have indexes on the appropriate fields in the database tables. If the transfer is slow, check your connection string. On connectionstrings.com[^] you can find examples of connection strings for several different purposes.

        Experience is the sum of all the mistakes you have done.

        E 1 Reply Last reply
        0
        • E ElCachubrey

          Hi all. I have to read from oracle data base large amount of data (about 5000 records), and i use for this purpose standard procedure oraDataTableAdapter.Fill(oraDataTable) , but this working very slow (about 15 seconds). In other side when i fill data table from MS SQL (with same number of records) its occupied mach less time. How i can to decrease time consumption for this operation for Oracle. THANK

          E Offline
          E Offline
          Ennis Ray Lynch Jr
          wrote on last edited by
          #4

          MS has biased .NET to work well with SQL Server. If you want to go really fast don't use fill. Instead create type objects and use the datareader as well as appropriate Where clauses. In my experience, Oracle (when done correctly) will vastly outperform SQL Server.

          Need a C# Consultant? I'm available.
          Happiness in intelligent people is the rarest thing I know. -- Ernest Hemingway

          E 1 Reply Last reply
          0
          • E Ennis Ray Lynch Jr

            MS has biased .NET to work well with SQL Server. If you want to go really fast don't use fill. Instead create type objects and use the datareader as well as appropriate Where clauses. In my experience, Oracle (when done correctly) will vastly outperform SQL Server.

            Need a C# Consultant? I'm available.
            Happiness in intelligent people is the rarest thing I know. -- Ernest Hemingway

            E Offline
            E Offline
            ElCachubrey
            wrote on last edited by
            #5

            Thank.

            Ennis Ray Lynch, Jr. wrote:

            In my experience, Oracle (when done correctly) will vastly outperform SQL Server.

            You mean what Oracle data reading is done correctly only through DataReader???? I just wander what internaly Fill method implemented throught DataReader isn't it????

            G 1 Reply Last reply
            0
            • G Guffa

              5000 records isn't really that much data, even a whole second would be too slow for getting the data. Do you have any means of running the query in a management tool in the database, so that you see if the query itself is slow, or the transfer to the DataTable. If the query itself is slow, check if you have indexes on the appropriate fields in the database tables. If the transfer is slow, check your connection string. On connectionstrings.com[^] you can find examples of connection strings for several different purposes.

              Experience is the sum of all the mistakes you have done.

              E Offline
              E Offline
              ElCachubrey
              wrote on last edited by
              #6

              Thank Query work fine in managment tool. As such as i think that problem in Oracle framework. And how connection string can affect speed of data retriving????

              G 1 Reply Last reply
              0
              • E ElCachubrey

                Thank.

                Ennis Ray Lynch, Jr. wrote:

                In my experience, Oracle (when done correctly) will vastly outperform SQL Server.

                You mean what Oracle data reading is done correctly only through DataReader???? I just wander what internaly Fill method implemented throught DataReader isn't it????

                G Offline
                G Offline
                Guffa
                wrote on last edited by
                #7

                El'Cachubrey wrote:

                You mean what Oracle data reading is done correctly only through DataReader????

                Of course not. A data reader is slightly faster as there is less overhead, but the difference is far from what you describe.

                El'Cachubrey wrote:

                I just wander what internaly Fill method implemented throught DataReader isn't it????

                Yes. The difference is the overhead that is added by the DataTable.

                Experience is the sum of all the mistakes you have done.

                1 Reply Last reply
                0
                • E ElCachubrey

                  Thank Query work fine in managment tool. As such as i think that problem in Oracle framework. And how connection string can affect speed of data retriving????

                  G Offline
                  G Offline
                  Guffa
                  wrote on last edited by
                  #8

                  El'Cachubrey wrote:

                  And how connection string can affect speed of data retriving????

                  Different database providers perform differently in certain situations. Also, the connection string can contain settings that may affect the performance of a provider. Have you examined the network traffic when the application runs the query? This could tell you if it's connecting to the database or transfering the data that takes time. It could also tell you if the amount of data looks reasonable, or if there is a lot of overhead.

                  Experience is the sum of all the mistakes you have done.

                  1 Reply Last reply
                  0
                  Reply
                  • Reply as topic
                  Log in to reply
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes


                  • Login

                  • Don't have an account? Register

                  • Login or register to search.
                  • First post
                    Last post
                  0
                  • Categories
                  • Recent
                  • Tags
                  • Popular
                  • World
                  • Users
                  • Groups