V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
fmfsaisai
V2EX  ›  iDev

用sqlite保存图片数据如何?

  •  
  •   fmfsaisai · 2011-09-20 19:52:37 +08:00 · 11980 次点击
    这是一个创建于 4804 天前的主题,其中的信息可能已经有所发展或是发生改变。
    感觉相比文件储存更容易管理

    缺点不知道
    19 条回复    1970-01-01 08:00:00 +08:00
    iloveyou
        1
    iloveyou  
       2011-09-20 20:12:04 +08:00
    以前用asp的时候把图片存在数据库里,后来改了php都存成文件了
    yoyicue
        2
    yoyicue  
       2011-09-20 20:14:00 +08:00
    性能很差
    Kai
        3
    Kai  
    MOD
       2011-09-20 20:25:11 +08:00 via iPhone
    http://www.iphonesdkarticles.com/2009/02/sqlite-tutorial-saving-images-in.html

    只是,存在相对路径下没什么不好的吧?
    fmfsaisai
        4
    fmfsaisai  
    OP
       2011-09-20 20:50:45 +08:00
    @Kai 嗯,就是看到有这个特性才好奇问一下的。
    按文件储存很好,唯一要注意的大概就是在文件非常多的情况下要分很多目录来分别存放,避免一个目录下太多文件(大概吧)
    love
        5
    love  
       2011-09-20 21:47:09 +08:00
    都存数据库了你怎么显示呢?
    samuel
        6
    samuel  
       2011-09-20 21:49:45 +08:00
    性能不行
    iloveyou
        7
    iloveyou  
       2011-09-20 21:58:04 +08:00
    @love 存储二进制数据,可以读取的
    love
        8
    love  
       2011-09-20 23:28:47 +08:00
    @iloveyou
    用nginx之类的前端没办法处理这种情况吧,难道在程序里直接输出图片?这样效率不好吧。
    而且在数据库里存大文件性能很差。
    keakon
        9
    keakon  
       2011-09-20 23:43:09 +08:00
    大家看看节点名再说吧…
    Livid
        10
    Livid  
    MOD
       2011-09-20 23:46:31 +08:00
    如果直接存为文件,那么你有可能可以用一些比较节约内存的方式来访问这些文件。

    而如果是放在 sqlite,那么根据你所用的库,很可能你会经常需要把图片先读取为 NSData 然后再操作,如果图片比较大的话,就可能会比较吃内存。
    kongruxi
        11
    kongruxi  
       2011-09-21 00:09:44 +08:00
    @love MongoDB的GridFS也许会例外
    Kai
        12
    Kai  
    MOD
       2011-09-21 00:45:26 +08:00 via iPhone
    @Saisai 内存的问题可能比目录还麻烦...
    chloerei
        13
    chloerei  
       2011-09-21 02:38:01 +08:00
    @kongruxi 要作为模块编译到nginx,看过篇文章性能是文件的1/6。所以没到海量文件的时候还是用文件吧。
    kongruxi
        14
    kongruxi  
       2011-09-21 09:42:31 +08:00
    @chloerei 能不能找回那篇文章的地址给我看看
    tox
        15
    tox  
       2011-09-21 10:06:26 +08:00
    以前做一个android app的时候 考虑到用户没插外部存储的时候 把图片存sqlite里
    不是很好 读写图片的时候二进制字节和bitmap的转换麻烦,这样的转换对性能也有影响 特别是手机。
    chloerei
        16
    chloerei  
       2011-09-21 10:32:47 +08:00
    kongruxi
        17
    kongruxi  
       2011-09-21 11:47:00 +08:00
    lesscome
        18
    lesscome  
       2011-09-21 11:54:40 +08:00
    缩略图可以存数据库,提高载入速度
    大图就不要了,浪费空间
    tianya
        19
    tianya  
       2011-10-02 21:29:46 +08:00
    no, 块数据不要存DB
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5511 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 08:55 · PVG 16:55 · LAX 00:55 · JFK 03:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.