Introduction to Cursors
MySQL cursor is an important concept. By searching for information and understanding it, we can mainly draw the following conclusions: A few things about myself.
The idea of data buffering: The design of the cursor is based on the idea of a data buffer, which is used to store the results of SQL statement execution.
First have the data foundation: Cursor is a technology that can continue to operate flexibly after retrieving data from the data table.
Similar to a pointer: A cursor is similar to a pointer pointing to a data structure stack. It is used to pop out the data pointed to, and can only be taken one at a time.
Advantages and Disadvantages of Cursors:
(1) Advantages of Cursors:
Because cursors operate on rows, so for select queries from the database Each row obtained can perform separate independent same or different operations, which is a separate idea. It can be used to perform special operations on a certain result row. Cursor and the ability to add, delete, modify, and query based on the cursor position. There is no expression form that specifically describes a row in the MySQL database, but this is needed. Therefore, if I personally understand it, I think the cursor is extracted from a set-oriented system such as a relational database and expressed separately for the row (you can also understand According to online information: Cursors are a bridge between set-oriented and row-oriented design ideas)
(2) Cursor shortcomings
The shortcomings of cursors are specific. That is to say, it can only be operated line by line. When the amount of data is large, it is not applicable and the speed is too slow. There is a metaphor here: when you go to an ATM to deposit money, do you want to deposit it all at once, or deposit 100 one by one? Here, depositing 100 one by one is the operation of the cursor on the row. Most databases are set-oriented, so the business will be more complex, and the use of cursors will cause deadlocks, affecting other business operations, which is not advisable. When the amount of data is large, using cursors will cause insufficient memory.
The above is the detailed content of What is a mysql cursor?. For more information, please follow other related articles on the PHP Chinese website!