登录
首页 >  数据库 >  MySQL

毫无意义的 fetchone——pymysql 中的 fetchone 有什么意义吗?

来源:SegmentFault

时间:2023-01-21 11:25:26 290浏览 收藏

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《毫无意义的 fetchone——pymysql 中的 fetchone 有什么意义吗?》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~

毫无意义的

import pymysql.cursors
from pymysql.connections import Connection
from pymysql.cursors import Cursor
import time

# Connect to the database
connection = pymysql.connect(host='192.168.31.203',
                             user='root',
                             password='yjcyjc',
                             database='d_replication_db')

with connection:
    connection: Connection

    with connection.cursor() as cursor:
        cursor:Cursor
        # Create a new record
        sql = "select * from master_slave_tweet;"
        cursor.execute(sql)
        for _ in range(10):
            print(cursor.fetchone())

  • fetchone
    不是一次从 mysql server 中取一次,而是在你执行
    cursor.execute(sql)
    的时候就把所有的数据取回来了,所以每调用
    fetchone
    一次,就发起一个网络请求(根本不会发起网络请求)
  • fetchone
    会节约网络请求时间吗?不会,原因如上
  • fetchone
    会节约内存空间吗?不会,原因如上
  • fetchone
    的意义是什么呢?毫无意义,他也不能帮我们写出更优雅的方法。

比如说你想获取某个表的第一条数据,必须使用

select * from master_slave_tweet limit 1;
而不是
select * from master_slave_tweet;
之后再使用
fetchone

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于数据库的相关知识,也可关注golang学习网公众号。

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表