Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
MySQL for Python

You're reading from   MySQL for Python Integrating MySQL and Python can bring a whole new level of productivity to your applications. This practical tutorial shows you how with examples and explanations that clarify even the most difficult concepts.

Arrow left icon
Product type Paperback
Published in Sep 2010
Publisher Packt
ISBN-13 9781849510189
Length 440 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Albert Lukaszewski Albert Lukaszewski
Author Profile Icon Albert Lukaszewski
Albert Lukaszewski
Arrow right icon
View More author details
Toc

Table of Contents (20) Chapters Close

MySQL for Python
Credits
About the Author
About the Reviewers
Preface
1. Getting Up and Running with MySQL for Python FREE CHAPTER 2. Simple Querying 3. Simple Insertion 4. Exception Handling 5. Results Record-by-Record 6. Inserting Multiple Entries 7. Creating and Dropping 8. Creating Users and Granting Access 9. Date and Time Values 10. Aggregate Functions and Clauses 11. SELECT Alternatives 12. String Functions 13. Showing MySQL Metadata 14. Disaster Recovery Index

The problem


You have set up your database program as a daemon, so it runs persistently and can be called by users throughout the network. Based on what we have covered in earlier chapters, it retrieves all the records into the application process itself before processing each one as a list. You have debugged it thoroughly and so you know it works. Still, within a week of deployment, the service is jamming up and colleagues are drawing comparisons between your program's processing time and the speed of molasses in January. What happened?

To understand the problem, it is worth revisiting the process by which a query is processed in MySQLdb. After making the connection, one passes an execute() call according to the cursor object—cursor.execute() for an instance of MySQLdb.Cursor that is named cursor. When that execute() call is passed, MySQLdb does not return the results, but returns the number of rows affected by the query (the results are retrieved, but not immediately returned). Consider...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image