- Amazon Student members save an additional 10% on Textbooks with promo code TEXTBOOK10. Enter code TEXTBOOK10 at checkout. Here's how (restrictions apply)
MySQL Stored Procedure Programming Paperback – Apr 7 2006
|New from||Used from|
Special Offers and Product Promotions
Customers Who Bought This Item Also Bought
No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
To get the free app, enter your e-mail address or mobile phone number.
Building High-Performance Web Applications in MySQL
About the Author
Guy Harrison has worked with databases for more than a decade, has conducted many MySQL and Oracle training seminars, and is author of several books on Oracle, including "Oracle Desk Reference" (Prentice Hall PTR). Currently a product architect at Quest Software, Harrison has conducted many training seminars and has authored several articles for the Oracle Technical Journal. He resides in Australia.
Steven Feuerstein is considered one of the world's leading experts on the Oracle PL/SQL language. He is the author or coauthor of "Oracle PL/SQL Programming", "Oracle PL/SQL Best Practices", "Oracle PL/SQL Programming: Guide to Oracle8i Features", "Oracle PL/SQL Developer's Workbook", "Oracle Built-in Packages, Advanced Oracle PL/SQL Programming with Packages", and several pocket reference books (all from O'Reilly). Steven is a Senior Technology Advisor with Quest Software, has been developing software since 1980, and worked for Oracle Corporation from 1987 to 1992. He is currently designing and building Qnxo (www.qnxo.com), the world's first active mentoring software.
Inside This Book(Learn More)
Most Helpful Customer Reviews on Amazon.com (beta)
This book is well written and well organized - something too few books are these days! It focuses on incremental teaching, but sidesteps the pitfalls that many such books do by pointing out when certatin features are glossed over at this point to be further explained in a future chapter. This is the perfect way to handle that problem, but one so few books take the time to do, leaving you puzzling over whether or not you need to fully understand particular examples.
It's divided into 4 sections. For me, the heart of the book was in the first 2. The first "Stored Programming Fundamentals" gives you the nuts and bolts of the language - loops, blocks, variables, error handling, etc.. Very well written, very well organized and easy to follow.
The second part "Stored Program Construction" goes into more detail with working examples of stored procedures and functions. More language details are brought to light, it demonstrates how to use transactions in this context and triggers are introduced and explained. These two sections were great, to the point and easy to follow. The only minor qualm I had was their only incidental discussion of scoping - they'd address it with a sentence here and a note there, leaving you to glean how things worked. It's not complex, but a short paragraph dedicated to scope would have really been nice.
The third part, I think, was unnecessarily long. "Using MySQL Stored Programs in Applications" - this covered how to work in php, java, perl, python and .net. Which was great, but they put in about 150 pages, almost a quarter of the book to this task and almost all of it was dedicated to the basics of how to use databases in these languages. Very basic querying, etc. It wasn't in the scope of the book and shouldn't have been - the whole thing should have been a single chapter that just discussed how to work with stored programs in each of the languages.
The last section, "optimizing stored programs" was very good. It suffered a little bit from covering topics that shouldn't have been in the book - but they cover it very well. SQL Tuning is given a lot of pages, but they very succinctly cover many bases in a very easy to grasp manner. They discuss how to use stored programs to increase security, and they dedicate a chapter to the actual mechanics of optimizing your stored program code (aside from optimizing the sql that it might include). They conclude on an excellent Best Practices chapter that gives you the authors' insights on everything from development to style to sql practices. I really enjoy it when books include these, as it gives a lot of insight into how the authors think about programming and you can see where your thoughts coincided with and contradict - and hopefully (as was the case with this book) get you thinking a little bit more about things you might not be actively thinking about.
Overall this book is a great book. It's biggest failing, if you can call it that, was including too much. I would have liked a book maybe 2/3 the size and more tightly focussed. There are many books on sql optimization and hordes of books and online resources dedicated to using mysql with various programming languages. An excellent book that gives a pretty balanced view of the pros and cons of stored programming (although they do show a slight bias towards the use of - but what can you expect? :).
But it also provides with invaluable hints and guidelines for general MySQL practices.
The book starts with PART I: covering the syntax and rules for stored routines. This part is straightforward and a very fast read. The authors tend to repeat themselves on occasion, though only when relevant.
PART II looks more closely at the particular rules for stored funtions and triggers. It also offers a transaction managing chapter, which describes transactions in MySQL in general, and in stored programming in particular. This chapter is very informative.
PART III discusses the use of stored routings from external programs: PHP, Java, Perl, Python, .NET. The authors establish their view of correct usage and provide with general recommendations.
In general, these three parts cover the stored routines material.
However, here comes a nice surprise: enter Part IV, which is a real gem.
This last part of the book discusses in depth MySQL query optimizations, indexing methods, performance issues, most unrelated with stored programming.
Why? The authors explain (and I agree with them), that most stored routines code will usually have SQL queries DML statements in them. It is their opinion, then, that to write good, efficient, stored procedures, one must be aware of how MySQL optimizes and handles complex queries.
I am not new to MySQL, yet have learned quite a few new things from this last part.
The book ends with a "best practices" chapter, which mostly provides summary for all issues discussed in the book, including some general recommendations for best practices in programming (which could have been left out, in my opinion).
All in all, this book is certainly a very good reference for anyone wishing to write stored functions/procedures/triggers in MySQL. The authors certainly have a strong expertise on the subject, and have a lot to tell.
The not-so-good: There seem to be quality or editorial issues with some of the examples. When I run them through the query browser in MySQL version 5 I have problems with some of them. For example Example 2-7 calls another procedure new_salary, which doesn't seem to exist by that name in the book or on the website. This makes it much more time consuming for a newbie to actually run and digest the examples than it should.
Having MySQL 5 and the ability to now write stored procedures, this DB could be used to power even the most important of web applications. Having this book in your hands now gives you the power to learn how to perform this very task efficiently and effectively.
I love the writing, size, and great layout of this text. In true O'Reilly fashion it's packaged for the masses and it is a pleasure to learn from.
01. Into to MySQL Stored Programs
02. MySQL Stored Programming 101
03. Language Fundamentals
04. Blocks, Conditional Statements, Iterative Programming
05. Using SQL in Stored Programming
06. Error Handling
07. Creating and Maintaining Stored Programs
09. MySQL built-in functions
10. Stored Functions
12. Using Stored Programs in applications
13. MySQL with PHP
14. MySQL with Java
15. MySQL with Perl
16. MySQL with Python
17. MySQL with .NET
18. Stored Program Security
19. Tuning Stored Programs
20. Basic SQL Tuning
21. Advanced SQL Tuning
22. Optimizing Stored Program Code
23. Best Practices in MySQL Stored Program Development
Everything about this book just screams YES YES YES!!! One of my favorites that I have had the pleasure to review and unless you are the most awesome of SQL developers, I have no doubts that you will love this book too!!
***** HIGHLY HIGHLY RECOMMENDED
If you're developing on MySQL 5 or greater, and you're serious about letting the database handle things that make sense (i.e. denormalization, administration, and putting business logic into the database), this is an excellent resource.
o Thorough coverage of
- o stored procedures
- o functions
- o triggers
- o cursors
o Explains stored procedure optimization very well
o Serves as stored procedure cookbook
o Excellent coverage of stored procedure best practices
o Demonstrates use of stored procedures with languages like PHP, Perl, Java, and others.
o Title doesn't do it justice.
Look for similar items by category
- Books > Computers & Technology > Databases > Data Mining
- Books > Computers & Technology > Databases > Data Warehousing
- Books > Computers & Technology > Databases > Specific Databases > MySQL & mSQL
- Books > Computers & Technology > Internet & Social Media
- Books > Computers & Technology > Programming > Languages & Tools
- Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Software Development
- Books > Computers & Technology > Software
- Books > Computers & Technology > Web Development > Programming > SQL
- Books > Computers & Technology > Web Development > Programming > XML
- Books > Textbooks > Computer Science & Information Systems > Computer Science
- Books > Textbooks > Computer Science & Information Systems > Database Storage & Design
- Books > Textbooks > Computer Science & Information Systems > Programming Languages
- Books > Textbooks > Computer Science & Information Systems > Software Design & Engineering