A recent addition to my Oracle PL/SQL library is the book Oracle PL/SQL Performance Tuning Tips & Techniques by Michael Rosenblum and Dr. Paul Dorsey.
I agree with Steven Feuerstein’s review that “if you write PL/SQL or are responsible for tuning the PL/SQL code written by someone else, this book will give you a broader, deeper set of tools with which to achieve PL/SQL success”.
In the foreword of the book, Bryn Llewellyn writes:
The database module should be exposed by a PL/SQL API. And the details of the names and structures of the tables, and the SQL that manipulates them, should be securely hidden from the application server module. This paradigm is sometimes known as “thick database.” It sets the context for the discussion of when to use SQL and when to use PL/SQL. The only kind of SQL statement that the application server may issue is a PL/SQL anonymous block that invokes one of the API’s subprograms.
I subscribe to the thick database paradigm. The implementation details of how a transaction is processed and where the data is stored in the database should be hidden behind PL/SQL APIs. Java developers do not have to know how the data is manipulated or the tables where the data is persisted, they just have to call the API.
However, like Bryn, I have seen many projects where all calls to the database are implemented as SQL statements that directly manipulate the application’s database tables. The manipulation is usually done via an ORM framework such as Hibernate.
In the book, the authors share a particularly bad example of this design. A single request from a client machine generated 60,000 round-trips from the application server to the database. They explain the reason behind this large number:
Java developers who think of the database as nothing more than a place to store persistent copies of their classes use Getters and Setters to retrieve and/or update individual attributes of objects. This type of development can generate a round-trip for every attribute of every object in the database. This means that inserting a row into a table with 100 columns results in a single INSERT followed by 99 UPDATE statements. Retrieving this record from the database then requires 100 independent queries. In the application server.
Wow! That’s bad. Multiply this by a 100 concurrent requests and users will start complaining about a “slow database”. NoSQL to the rescue!2 Comments | Filed in Oracle | Tags: book, pl/sql, sql
Oracle Press is a marketing label used by McGraw Hill to market its line of Oracle books – the books are not formally written by Oracle Corporation nor are they formally tech edited by Oracle Corporation, although some employees of Oracle Corporation have used McGraw Hill as a publishing company. At least for me, for several years the “Officially Authorized Oracle Press” logo on books published by McGraw Hill seemed to be endorsement of the books by Oracle Corporation, but that is not the case.Comments Off | Filed in Oracle | Tags: book
I came across this Chinese website that has hundreds of e-books about Oracle, Microsoft, Dreamweaver, Flash, Java, PHP, mySQL, Linux, Cisco and many many more, all ready for your online reading pleasure. I do not think this is legal. At least, it is as legal as software piracy.2 Comments | Filed in ColdFusion, Oracle | Tags: book
I believe that both electronic and print media can, and will, coexist together in harmony without one replacing the other. I admit that I buy books less often than what I used to in the past. Usually I buy books for authors I know and I like. I subscribe to Safari Books Online mostly because I am online at least eight hours a day.
Even professionals who can be very good book authors shy away from writing a book because “the figures just don’t add up” especially that “these days, when you can self-publish on the Web, or publish your book as a PDF and sell it online, writing a book is not such a compelling deal”. Even my favorite author reads books on his Palm Pilot :).6 Comments | Filed in Technology | Tags: book
I have just noticed that OTN has now an Oracle 10g Book Center. The page lists Oracle books from Oracle Press, Apress, Elsevier Digital Press, O’Reilly & Associates, Prentice Hall Professional Technical Reference, Rampant, TechPress and Sams Publishing.
Each book has a direct link to Amazon.com and most of them have sample chapters for you to download. There is also a single page to download all sample book chapters.
Check out the Oracle 10g Book Center on OTN.4 Comments | Filed in Oracle | Tags: book
Triggered by Francois’s comment, I have created a new collaborative book on oradot: The Oracle Resources Book. This is an online book that you can contribute to and I urge you to do so. The more Oracle community members add information to this book, the more useful it becomes. There are a lot of Oracle information out there in the cyberspace and the Oracle Resources Book should not re-invent the wheel in my opinion, rather than, at the least, point the Oracle professionals and newbies to the right direction.2 Comments | Filed in Oracle | Tags: book, oradot
I was setting up my environment to test out the examples in the book “Expert Oracle Database Architecture“. I started to set up runstats, a tool that measures the elapsed time, system statistics and latching. To use runstats, I (scott/tiger) needed access to some v$ tables (a.k.a. magic dynamic performance tables). On page xxxii of the book, it says: Continue reading…7 Comments | Filed in Oracle, Tips | Tags: book
I downloaded part of Tom Kyte’s newest book “Expert Oracle Database Architecture – 9i and 10g Programming Techniques and Solutions” from Tom’s blog and started reading with interest (Can’t wait until the book is available at Amazon). I got to page 25, “Setting Up Your Environment” and read through page 28 when I noticed the following: Continue reading…3 Comments | Filed in Oracle | Tags: book, sqlplus