2

I want to import data from a MySQL server into Oracle database, and I found a suggestion to use Oracle database link. The Oracle instance is 10.0.2.1, and the MySQL server instance should be 5.1. The connection between two servers and the hard-disk should not be bottle neck.

I want to ask about the performance of Oracle database link? How fast it is? Is it very slow, slow or fast? Is it capable of transferring 1000 rows/second?

Thank you

1
  • 1
    How big are the rows ? A single LONGTEXT column can hold about 4 GB. If each row is 4 GB in size, then pushing 4 terabytes a second across a network is....challenging. Commented Feb 23, 2011 at 8:55

2 Answers 2

3

1000 rows/sec is definitely acheivable... the question is whether it's acheivable on your database/network infrastructure.

Even if we had a detailed knowledge of your infrastructure it would still be very hard to say... it depends on so many factors like network speed, network latency, the size of the database rows being transfered etc.

The only way to tell for sure is to test it.

I would look on this as a good thing - the process of building the test is bound to teach you a lot about how it could work... it will throw up a number of issues that you're going to have to consider at some point - how do you handle backlogs when they form? What is the max through-put you can acheive? etc. You'll learn what kind of data-transfer works best for you (e.g. single rows at a time or larger batches) You might want to try it with a mechanisms other than SQL (e.g. queues)

You say that you don't think the network / hard disk access will be an issue - again, you need to test this assumption. Every database has a limiting factor on the performance somewhere (or they'd be infinitely fast!) and it's quite often disk access that is the limiting factor. In this case I would speculate that the network may be the limiting factor, but there's no way to know for sure without measuring it.

Sign up to request clarification or add additional context in comments.

Comments

1

Generally speaking dblink performance limited by network speed, but there are some pitfalls, leading to performance issues:

  • unnecessary joins between local and remote tables that leads to transferring large amounts of data;
  • lack of parallelism built into the query (unions help in this case);
  • implicit sorting on remote database side;
  • failure to comply with Oracle recommendations such as using of collocated views and hints (mainly DRIVING_SITE and NO_MERGE).

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.