美文网首页
Python数据库及ORM框架对比选择

Python数据库及ORM框架对比选择

作者: 慢牛策略 | 来源:发表于2018-11-18 16:37 被阅读39次

    使用Python进行MySQL的库主要有三个:

    Python-MySQL(更熟悉的名字可能是MySQLdb),
    PyMySQL
    SQLAlchemy。
    
    Python-MySQL:
    资格最老,核心由C语言打造,接口精炼,性能最棒,缺点是环境依赖较多,安装复杂,近两年已停止更新,
    只支持Python2,不支持Python3
    
    PyMySQL:
    为替代Python-MySQL而生,纯python打造,
    接口与Python-MySQL兼容,安装方便,支持Python3。
    
    SQLAlchemy:
    是一个ORM框架,它并不提供底层的数据库操作,
    而是要借助于MySQLdb、PyMySQL等第三方库来完成,目前SQLAlchemy在Web编程领域应用广泛。
    

    ORM种类:

    Django’s ORM、peewee、SQLAlchemy
    
    Django’s ORM
    优点:
        易用,学习曲线短
        和Django紧密集合,用Django时使用约定俗成的方法去操作数据库
    
    缺点:
        QuerySet速度不给力,会逼我用Mysqldb来操作原生sql语句。
        以前写过一篇关于django orm 跟mysqldb性能的对比
    
    Peewee
    优点:
    Django式的API,使其易用
    轻量实现,很容易和任意web框架集成
    
    缺点:
    不支持自动化 schema 迁移
    不能像Django那样,使线上的mysql表结构生成结构化的模型。
    
    SQLAlchemy
    优点:
    巨牛逼的API,使得代码有健壮性和适应性
    灵活的设计,使得能轻松写复杂查询
    
    缺点:
    工作单元概念不常见
    重量级 API,导致长学习曲线
    

    来源:聊聊python的轻量级orm peewee及对比SQLAlchemy
    官方教程

    相关文章

      网友评论

          本文标题:Python数据库及ORM框架对比选择

          本文链接:https://www.haomeiwen.com/subject/zsygfqtx.html