内存数据库,MySQL和sqlite,哪个更好? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
flypen
V2EX    问与答

内存数据库,MySQL和sqlite,哪个更好?

  •  
  •   flypen 2012-01-28 13:55:58 +08:00 14987 次点击
    这是一个创建于 5055 天前的主题,其中的信息可能已经有所发展或是发生改变。
    数据只保留在内存里面做一些处理,处理完毕之后就丢掉。但是有源源不断地数据进来。有比较多的整数数值比较的操作,但是没有复杂查询,也没有其他复杂的数据库操作。请问,从性能和内存占用率来考虑,MySQL的memory engine和sqlite相比,哪个更好一些?有没有更好的推荐?
    25 条回复    1970-01-01 08:00:00 +08:00
    kingwkb
        1
    kingwkb  
       2012-01-28 13:59:44 +08:00 via Android
    当然sqlite
    felixonmars
        2
    felixonmars  
       2012-01-28 14:08:02 +08:00
    不考虑memcached之类的nosql内存数据库吗?
    panlilu
        3
    panlilu  
       2012-01-28 14:09:10 +08:00 via Android
    mysql 没有压岁钱。。
    felixonmars
        4
    felixonmars  
       2012-01-28 14:11:31 +08:00
    @panlilu 明明是 没压岁钱了 ...
    gujiaxi
        5
    gujiaxi  
       2012-01-28 14:26:31 +08:00
    想到个段子:MYSQL=妈要生气了
    cngump
        6
    cngump  
       2012-01-28 14:30:45 +08:00 via iPhone
    redis?
    flypen
        7
    flypen  
    OP
       2012-01-28 14:38:45 +08:00
    因为要设计到一些比较操作(select * from * where a>b),所以用SQL的数据库操作起方便点(当然不一定是效率更好)。如果用memcached或者redis这种key-value形势的东东,弄起来怕有点不方便。

    顺便问问,SQL语句中的比较查询操作,在不能使用索引的时候都是会把数据库从头到尾扫描一遍的吧?这样的话,性能是不是就不是太好了?
    felixonmars
        8
    felixonmars  
       2012-01-28 14:43:21 +08:00
    还可以考虑mongodb之类的文档型数据库, 对于简单的where a>b类似操作是绝对足够了...
    panlilu
        9
    panlilu  
       2012-01-28 15:22:38 +08:00
    @felixonmars 哈哈。。一时打错了。。
    master
        10
    master  
       2012-01-28 15:58:00 +08:00
    各个的应用场景不同,没有哪个是绝对的好吧
    freefcw
        11
    freefcw  
       2012-01-28 16:45:53 +08:00
    最好用的其实是自己写一个= =
    Ricepig
        12
    Ricepig  
       2012-01-28 16:49:31 +08:00
    sqlite的join性能貌似很低
    flypen
        13
    flypen  
    OP
       2012-01-28 18:14:23 +08:00
    @Ricepig 对于sqlite的join性能很低,有实践过或者有出处吗?
    Ricepig
        14
    Ricepig  
       2012-01-28 18:43:12 +08:00
    @flypen 我有一个OLAP的应用开始就使用sqlite,数据量不太大的时候join性能就很一般,后来不得不自己做Hash Join
    feiandxs
        15
    feiandxs  
       2012-01-28 18:52:56 +08:00
    没用过sqlite,但记得看到的资料普遍对sqlite的插入操作表示不理想。
    https://www.google.com/search?q=sqlite%E6%8F%92%E5%85%A5%E6%80%A7%E8%83%BD&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a
    sql在不用索引的时候进行检索是会全扫的。如果不想用key-value形式的库,用mysql的内存表性能也不差,具体看你应用了。
    mlzboy
        16
    mlzboy  
       2012-01-28 20:09:17 +08:00
    @gujiaxi 表达的是什么意思
    gujiaxi
        17
    gujiaxi  
       2012-01-28 21:41:15 +08:00
    @mlzboy “再不找女朋友,MYSQL”
    Kobe
        18
    Kobe  
       2012-01-28 23:03:26 +08:00 via iPad
    这两个默认都不是内存数据库,考虑redis或者mongodb吧
    arden
        19
    arden  
       2012-01-29 01:01:18 +08:00
    yyfearth
        20
    yyfearth  
       2012-01-29 04:01:27 +08:00
    @flypen 这个不是map reduce么?
    Livid
        21
    Livid  
    MOD
    PRO
       2012-01-29 06:10:13 +08:00
    数据源源不断进来,处理完之后又丢掉,那么猜想应该不会需要同时处理太多数据。

    那这种时候就用 MySQL 好了。SQLite 是一个文件,如果有两个不同的程序同时使用一个 SQLite 数据库,那么你还需要第 3 个程序来协调写入。
    flypen
        22
    flypen  
    OP
       2012-01-29 09:43:58 +08:00
    @yyfearth 比map reduce简单很多,呵呵。
    shawiz
        23
    shawiz  
       2012-01-29 09:52:06 +08:00
    楼主可以考虑用 Redis, 速度很快的 Key-Value 存储
    根本不需要写 SQL
    iyten
        24
    iyten  
       2012-01-29 10:34:11 +08:00
    sqlite不支持单多线程数据处理~
    avatasia
        25
    avatasia  
       2012-01-29 10:48:59 +08:00
    redis couchdb都是大应用,小应用可以考虑leveldb
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2550 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 00:26 PVG 08:26 LAX 16:26 JFK 19:26
    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