MySQL API的异步C/C++实现~ - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
xatest
V2EX    MySQL

MySQL API的异步C/C++实现~

  •  
  •   xatest
    aoxu 2012-01-09 21:54:01 +08:00 14332 次点击
    这是一个创建于 5092 天前的主题,其中的信息可能已经有所发展或是发生改变。
    参考: http://stackoverflow.com/questions/38447/asynchronous-mysql-connector-for-c-or-c

    MySQL的原生API都是同步调用的,会阻塞在网络上,请问是否有比较可靠的异步连接、发送、接收的C/C++实现方法,可以把MySQL的基本操作(增删改查原子操作)以网络事件通知异步实现?
    9 条回复    1970-01-01 08:00:00 +08:00
    gowinder
        1
    gowinder  
       2012-01-10 22:50:05 +08:00
    要自己封装,做异步操作完成通知,如果是单连接,要做操作队列,不然要做连接池,mysql api好像不支持异步
    xatest
        2
    xatest  
    OP
       2012-01-11 10:22:46 +08:00
    @gowinder 谢谢,目前我的打算是用操作队列缓冲+连接池~
    napoleonu
        3
    napoleonu  
       2012-01-11 10:38:51 +08:00
    这样做的目的是什么呢,或者是为了解决什么问题呢?
    xatest
        4
    xatest  
    OP
       2012-01-11 13:16:58 +08:00
    @napoleonu 解决MySQL写操作较多时比较慢的问题~
    napoleonu
        5
    napoleonu  
       2012-01-11 13:52:21 +08:00
    @xatest 既然你没有特别的需求,那么你应该优化写,而不是想这种怪招,嘿嘿
    gowinder
        6
    gowinder  
       2012-01-11 16:33:22 +08:00
    优化是第一步.
    如果确实查询很多,就要应该用多线程.
    最根本还是数据库设计的问题.
    wpc009
        7
    wpc009  
       2012-10-09 14:19:28 +08:00
    @napoleonu 异步解决高并发的重要手段。这一点我是支持LZ的。你提到的优化,目的是缩减同步IO的阻塞时间。众所周知,同步阻塞IO要处理并发就得开n个线程。线程少了会来不及处理,线程多了切换上下文的消耗会严重降低吞吐量。 相比之下,异步IO仅需需要少量线程就可以达到很高的吞吐量,但是前提是线程不能被阻塞。也就是说少量的线程必须一直保持激活状态并且快速处理请求。这种环境下异步数据库接口就显得十分重要了。
    qsun
        8
    qsun  
       2012-10-09 14:50:11 +08:00
    libdrizzle
    Js
        9
    Js  
       2012-10-09 16:18:06 +08:00
    不如从了postgresql吧....
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2665 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 15:11 PVG 23:11 LAX 07:11 JFK 10:11
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86