Features
- Cover Type: Paperback with 636 pages
- Published by: O'Reilly Media, Inc. March 28, 2006
- Written in: English
- ISBN 10 Number: 0596100892
- ISBN 13 Number: 978-0596100896
-
Book Dimensions:
9.1 x 7.1 x 1.1 inches
- Weighs: 2.1 pounds
Product Description
The implementation of stored procedures in MySQL 5.0 a huge milestone -- one that is expected to lead to widespread enterprise adoption of the already extremely popular MySQL database. If you are serious about building the web-based database applications of the future, you need to get up to speed quickly on how stored procedures work -- and how to build them the right way. This book, destined to be the bible of stored procedure development, is a resource that no real MySQL programmer can afford to do without.
In the decade since MySQL burst on the scene, it has become the dominant open source database, with capabilities and performance rivaling those of commercial RDBMS offerings like Oracle and SQL Server. Along with Linux and PHP, MySQL is at the heart of millions of applications. And now, with support for stored procedures, functions, and triggers in MySQL 5.0, MySQL offers the programming power needed for true enterprise use.
MySQL's new procedural language has a straightforward syntax, making it easy to write simple programs. But it's not so easy to write secure, easily maintained, high-performance, and bug-free programs. Few in the MySQL world have substantial experience yet with stored procedures, but Guy Harrison and Steven Feuerstein have decades of combined expertise. In
MySQL Stored Procedure Programming, they put that hard-won experience to good use. Packed with code examples and covering everything from language basics to application building to advanced tuning and best practices, this highly readable book is the one-stop guide to MySQL development. It consists of four major sections:
- MySQL stored programming basics -- tutorial, basic statements, SQL in stored programs, and error handling
- Building MySQL stored programs -- transaction handling, built-in functions, stored functions, and triggers
- MySQL stored programs in applications -- using stored programs with PHP, Java, Perl, Python, and .NET (C# and VB.NET)
- Optimizing MySQL stored programs -- security, basic and advanced SQL tuning, optimizing stored program code, and programming best practices
A companion web site contains many thousands of lines of code, that you can put to use immediately.
Guy Harrison is Chief Architect of Database Solutions at Quest
software and a frequent speaker and writer on MySQL topics. Steven Feuerstein is the author of
Oracle PL/SQL Programming, the classic reference for Oracle stored programming for more than ten years. Both have decades of experience as database developers, and between them they have authored a dozen books.
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.
Reader ReviewsHaving worked in java and oracle with pl/sql some time ago, I'm in the "probably better not to use stored procedures" camp for most environments - but now that mysql offers them, I figured it was best to see how they tackled the problem and this o'reilly book looked good by authors with good credentials. And, fortunately, O'Reilly didn't let me down - they've had really strong offerings recently after a bit of a bad spell and this book was no exception. 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? :).