• 今天测试了一下 sqlalchemy 性能


    self.db.query(Users).filter(Users.Id==1).first() < self.db.execute('SELECT *  FROM `users` WHERE Id=%s' % user_id).first() < self.db.queryRow('SELECT * FROM `users` WHERE `Id`=%s' % user_id)

    sqlalchemy的echo=False的

    ab测试如下:
    ab -n 2000 -c 50 http://127.0.0.1:8888/

    self.db.query(Users).filter(Users.Id==1).first()  的 

    Requests per second:    460.00左右 [#/sec] (mean)

    self.db.execute('SELECT *  FROM `users` WHERE Id=%s' % user_id).first() 

    Requests per second:    860.00左右 [#/sec] (mean)

    下面这个为 MySQLdb

    self.db.queryRow('SELECT * FROM `users` WHERE `Id`=%s' % user_id)

    Requests per second:    1110.00左右 [#/sec] (mean)

    在想是否是用MySQLdb好呢还是用sqlalchemy好。

    这MySQLdb我也改了下代码的:基本的CRUD如下:

        db = db(host='localhost', user='root', passwd='password', port=3306, db='test', charset='utf8');
        #row = db.queryRow('SELECT @@version')
        row = db.queryRow('SELECT   `id`,  `name` FROM `test` WHERE id=2')
        if(row):
            print row['name']
        else:
            print '123'
        
        data = {}
        data['UserName'] = "mytest??"
        data['Email'] = "my2@test.com"
        data["Age"] = 26
        data["money"] = 6254.258
        #data['bc']="def"
        #data['flt']=38.5
        #添加数据
        #print db.execute_insert('mytb',data)
        #修改数据
        print db.execute_update('mytb', data, {'id':1, "Age":24})
        row = db.queryRow('select * from mytb where id = %s', (2))
        print row['UserName']
        
        for item in db.queryAll('select * from mytb'):
            print item['UserName']

     据说 amysql  的性能比MySQLDb 快2.5倍。 

  • 相关阅读:
    【七款炫酷的页面特效】
    【PHP环境-WampServer踩坑】
    【Elasticsearch在winodws系统启动报could not find java+闪退】
    【Vue-入门笔记-7】
    关于ios的光标和键盘回弹问题
    AES加密然后ajax传输数据
    文件进行MD5计算
    jqGrid 常用 总结 -2
    关于页面传参,decodeURI和decodeURIComponent
    js防抖和节流
  • 原文地址:https://www.cnblogs.com/myx/p/sqlalchemy-benchmark.html
Copyright © 2020-2023  润新知