1、java JDBC 外文翻译 外文文献 英文文献原文一:Java Programming with Oracle JDBC:PerformancePerformance is usually considered an issue at the end of a development cycle when it should really be considered from the start.Often, a task called performance tuning is done after the coding is complete, and the end user of a
2、 program complains about how long it takes the program to complete a particular task.The net result of waiting until the end of the development cycle to consider performance includes the expense of the additional time required to recode a program to improve its performance.Its my opinion that perfor
3、mance is something that is best considered at the start of a project.When it comes to performance issues concerning JDBC programming there are two major factors to consider. The first is the performance of the database structure and the SQL statements used against it. The second is the relative effi
4、ciency of the different ways you can use the JDBC interfaces to manipulate a database.In terms of the databases efficiency, you can use the EXPLAIN PLAN facility to explain how the databases optimizer plans to execute your SQL statements. Armed with this knowledge, you may determine that additional
5、indexes are needed, or that you require an alternative means of selecting the data you desire.On the other hand, when it comes to using JDBC, you need to know ahead of time the relative strengths and weaknesses of using auto-commit, SQL92 syntax, and a Statement versus a PreparedStatement versus a C
6、allableStatement object. In this chapter, well examine the relative performance of various JDBC objects using example programs that report the amount of time it takes to accomplish a given task. Well first look at auto-commit. Next, well look at the impact of the SQL92 syntax parser. Then well start
7、 a series of comparisons of the Statement object versus the PreparedStatement object versus the CallableStatement object. At the same time well also examine the performance of the OCI versus the Thin driver in each situation to see if, as Oracles claims, there is a significant enough performance gai
8、n with the OCI driver that you should use it instead of the Thin driver. For the most part, our discussions will be based on timing data for 1,000 inserts into the test performance table TESTXXXPERF. There are separate programs for performing these 1,000 inserts using the OCI driver and the Thin dri
9、ver. The performance test programs themselves are very simple and are available online with the rest of the examples in this book. However, for brevity, Ill not show the code for the examples in this chapter. Ill only talk about them. Although the actual timing values change from system to system, t
10、heir relative values, or ratios from one system to another, remain consistent. The timings used in this chapter were gathered using Windows 2000. Using objective data from these programs allows us to come to factual conclusions on which factors improve performance, rather than relying on hearsay.Im
11、sure youll be surprised at the reality of performance for these objects, and I hope youll use this knowledge to your advantage. Lets get started with a look at the testing framework used in this chapter.A Testing FrameworkFor the most part, the test programs in this chapter report the timings for in
12、serting data into a table. I picked an INSERT statement because it eliminates the performance gain of the database block buffers that may skew timings for an UPDATE, DELETE, or SELECT .The test table used in the example programs in this chapter is a simple relational table. I wanted it to have a NUM
13、BER, a small VARCHAR2, a large VARCHAR2, and a DATE column. Table TESTXXXPERF is defined as:create table TestXXXPerf (id number,code varchar2(30),descr varchar2(80),insert_user varchar2(30),insert_date date )tablespace users pctfree 20storage( initial 1 M next 1 M pctincrease 0 );alter table TestXXX
14、Perfadd constraint TestXXXPerf_Pkprimary key ( id )using indextablespace users pctfree 20storage( initial 1 M next 1 M pctincrease 0 );The initial extent size used for the table makes it unlikely that the database will need to take the time to allocate another extent during the execution of one of t
15、he test programs. Therefore, extent allocation will not impact the timings. Given this background, you should have a context to understand what is done in each section by each test program.Auto-CommitBy default, JDBCs auto-commit feature is on, which means that each SQL statement is committed as it
16、is executed. If more than one SQL statement is executed by your program, then a small performance increase can be achieved by turning off auto-commit. Lets take a look at some numbers. Table 19-1 shows the average time, in milliseconds, needed to insert 1,000 rows into the TESTXXXPERF table using a Statement object. The timings represent the average from three runs of the program. Both drivers experience approximately a
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1