ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:53.89KB ,
资源ID:26042150      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26042150.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java JDBC 外文翻译 外文文献 英文文献.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java JDBC 外文翻译 外文文献 英文文献.docx

1、java JDBC 外文翻译 外文文献 英文文献java JDBC 外文翻译 外文文献 英文文献原文一: Java Programming with Oracle JDBC:Performance Performance 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 compl

2、ete, and the end user of a 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.

3、Its my opinion that performance 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

4、second is the relative efficiency 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 ma

5、y determine that additional 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

6、 PreparedStatement versus a CallableStatement 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 s

7、yntax parser. Then well start 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 signi

8、ficant enough performance gain 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 th

9、e OCI driver and the Thin driver. 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 ch

10、ange from system to system, their 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, rathe

11、r than relying on hearsay. Im 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 Framework For the most part, the test programs in this c

12、hapter report the timings for inserting 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

13、 table. I wanted it to have a NUMBER, 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 20 storage( initial 1 M nex

14、t 1 M pctincrease 0 ); alter table TestXXXPerf add constraint TestXXXPerf_Pk primary key ( id ) using index tablespace users pctfree 20 storage( 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

15、 another extent during the execution of one of the 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-Commit By default, JDBCs auto-commit feature is on, which

16、 means that each SQL statement is committed as it 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 ins

17、ert 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 one-second loss as overhead for committing between each SQL statement. When you divide that one second by 1,000 inserts, you c

18、an see that turning off auto-commit saves approximately 0.001 seconds (1 millisecond) per SQL statement. While thats not interesting enough to write home about, it does demonstrate how auto-commit can impact performance. Table 19-1: Auto-commit timings (in milliseconds) Auto-commit OCI Thin On 3,712

19、 3,675 Off 2,613 2,594 Clearly, its more important to turn off auto-commit for managing multistep transactions than for gaining performance. But on a heavily loaded system where many users are committing transactions, the amount of time it takes to perform commits can become quite significant. So my

20、 recommendation is to turn off auto-commit and manage your transactions manually. The rest of the tests in this chapter are performed with auto-commit turned off. SQL92 Token Parsing Like auto-commit, SQL92 escape syntax token parsing is on by default. In case you dont recall, SQL92 token parsing al

21、lows you to embed SQL92 escape syntax in your SQL statements (see Oracle and SQL92 Escape Syntax in Chapter 9). These standards-based snippets of syntax are parsed by a JDBC driver transforming the SQL statement into its native syntax for the target database. SQL92 escape syntax allows you to make y

22、our code more portable-but does this portability come with a cost in terms of performance? Table 19-2 shows the number of milliseconds needed to insert 1,000 rows into the TESTXXXPERF table. Timings are shown with the SQL92 escape syntax parser on and off for both the OCI and Thin drivers. As before

23、, these timings represent the result of three program runs averaged together. Table 19-2: SQL92 token parser timings (in milliseconds) SQL92 parser OCI Thin On 2,567 2,514 Off 2,744 2,550 Notice from Table 19-2 that with the OCI driver we lose 177 milliseconds when escape syntax parsing is turned of

24、f, and we lose only 37 milliseconds when the parser is turned off with the Thin driver. These results are the opposite of what you might intuitively expect. It appears that both drivers have been optimized for SQL92 parsing, so you should leave it on for best performance. Now that you know you never

25、 have to worry about turning the SQL92 parser off, lets move on to something that has some potential for providing a substantial performance improvement. Statement Versus PreparedStatement Theres a popular belief that using a PreparedStatement object is faster than using a Statement object. After al

26、l, a prepared statement has to verify its metadata against the database only once, while a statement has to do it every time. So how could it be any other way? Well, the truth of the matter is that it takes about 65 iterations of a prepared statement before its total time for execution catches up wi

27、th a statement. When it comes to which SQL statement object performs better under typical use, a Statement or a PreparedStatement, the truth is that the Statement object yields the best performance. When you consider how SQL statements are typically used in an application-1 or 2 here, maybe 10-20 (r

28、arely more) per transaction-you realize that a Statement object will perform them in less time than a PreparedStatement object. In the next two sections, well look at this performance issue with respect to both the OCI driver and the Thin driver. The OCI Driver Table 19-3 shows the timings in millis

29、econds for 1 insert and 1,000 inserts in the TESTXXXPERF table. The inserts are done first using a Statement object and then a PreparedStatement object. If you look at the results for 1,000 inserts, you may think that a prepared statement performs better. After all, at 1,000 inserts, the PreparedSta

30、tement object is almost twice as fast as the Statement object, but if you examine Figure 19-1, youll see a different story. Table 19-3: OCI driver timings (in milliseconds) Inserts Statement PreparedStatement 1 10 113 1,000 2,804 1,412 Figure 19-1 is a graph of the timings needed to insert varying n

31、umbers of rows using both a Statement object and a PreparedStatement object. The number of inserts begins at 1 and climbs in intervals of 10 up to a maximum of 150 inserts. For this graph and for those that follow, the lines themselves are polynomial trend lines with a factor of 2. I chose polynomia

32、l lines instead of straight trend lines so you can better see a change in the performance as the number of inserts increases. I chose a factor of 2 so the lines have only one curve in them. The important thing to notice about the graph is that its not until about 65 inserts that the PreparedStatement object outperforms the Statement object. 65 inserts! Clearly, the Statement object is more efficient under typical use when using the OCI driver. Figure 19-1 The Thin Driver If you examine Table 19-4 (which shows the same timings as for Table 19-3,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1