惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
Netflix TechBlog - Medium
博客园 - 聂微东
M
MIT News - Artificial intelligence
The Hacker News
The Hacker News
AI
AI
Hacker News: Ask HN
Hacker News: Ask HN
Cloudbric
Cloudbric
GbyAI
GbyAI
B
Blog RSS Feed
S
Secure Thoughts
O
OpenAI News
S
Schneier on Security
Latest news
Latest news
C
Check Point Blog
Know Your Adversary
Know Your Adversary
T
Tenable Blog
J
Java Code Geeks
The Cloudflare Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
WordPress大学
WordPress大学
P
Proofpoint News Feed
雷峰网
雷峰网
Engineering at Meta
Engineering at Meta
C
Cyber Attacks, Cyber Crime and Cyber Security
Cisco Talos Blog
Cisco Talos Blog
H
Hacker News: Front Page
www.infosecurity-magazine.com
www.infosecurity-magazine.com
美团技术团队
博客园 - 司徒正美
Security Latest
Security Latest
Forbes - Security
Forbes - Security
W
WeLiveSecurity
Webroot Blog
Webroot Blog
Last Week in AI
Last Week in AI
L
LINUX DO - 热门话题
Google DeepMind News
Google DeepMind News
Martin Fowler
Martin Fowler
月光博客
月光博客
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Help Net Security
Help Net Security
H
Help Net Security
Recent Commits to openclaw:main
Recent Commits to openclaw:main
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
U
Unit 42
V2EX - 技术
V2EX - 技术
阮一峰的网络日志
阮一峰的网络日志
SecWiki News
SecWiki News
T
Troy Hunt's Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
The Exploit Database - CXSecurity.com

博客园 - myx

安装gitlab管理自己的代码 升级Tornado到4后weibo oauth登录不了 SQL Server 无日志文件附加数据库 用monit监控系统关键进程 Failed to read auto-increment value from storage engine错误的处理方法 PIL The _imaging C module is not installed phpExcel大数据量情况下内存溢出解决 tcpdf慢及常用的一些方法及问题 Python获取WebService CodeIgniter出现Disallowed Key Characters的问题 CodeIgniter链接ms sql 如果数据库名称有点号连接出错 用python写windows服务 CodeIgniter链接ms sql 的过程windows 2008 关于NTLM认证的.NET,php,python登录 DotNetOpenAuth的Facebook登录,获取头像与基本资料 php里的html内容切取 js生成新加坡的NRIC号码 Sina站内应用的登录 PowerDesigner 链接MySql 用ODBC链接不上的问题
今天测试了一下 sqlalchemy 性能
myx · 2013-07-25 · via 博客园 - myx

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倍。