V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
SQLite
hermitu
V2EX  ›  SQLite

如何把一个2G的sqlite数据库分割成小的?

  •  
  •   hermitu · 2012-01-11 15:48:50 +08:00 · 8594 次点击
    这是一个创建于 4691 天前的主题,其中的信息可能已经有所发展或是发生改变。
    用sqlfairy转换sqlite到mysql,但是转换中途显示out of memory. 我想是sqlite文件太大了吧,如果分割成小的,估计就解决问题了。。。但是没找到分割工具。
    8 条回复    1970-01-01 08:00:00 +08:00
    ywjno
        1
    ywjno  
       2012-01-11 15:55:19 +08:00
    用工具把sqlite导出成sql文件,然后直接在mysql里运行这个sql文件看看
    fim8
        2
    fim8  
       2012-01-11 15:55:28 +08:00
    分割SQL大文件的话,以前有一个PHP文件可以设定大小,然后切割为N个设定大小的SQL小文件.
    楼主可以google下.
    hermitu
        3
    hermitu  
    OP
       2012-01-11 16:01:04 +08:00
    @ywjno 无法直接导入,需要转换里面的一些字符。但是打开2G的文件,电脑有些吃力,更别提替换字符了...
    hermitu
        4
    hermitu  
    OP
       2012-01-11 16:01:25 +08:00
    @fim8 谢谢~我试一下。
    ywjno
        5
    ywjno  
       2012-01-11 23:13:33 +08:00
    @hermitu 用jdbc之类的读取sqlite的数据,然后转换里面你想转换的字符,之后拼成insert文输出到txt文档里面
    数据多不是问题,大不了可以设置n条记录输出一次,即时出错了下次也能从指定的位置进行处理
    likuku
        6
    likuku  
       2012-01-12 02:03:14 +08:00
    转换字符?编码转换?字符替换?
    likuku
        7
    likuku  
       2012-01-12 02:04:21 +08:00
    编码转换用 iconv,字符替换用sed
    clino
        8
    clino  
       2012-01-12 09:19:46 +08:00
    @hermitu "但是打开2G的文件,电脑有些吃力"不要用gui编辑器,用vim或者自己写程序来转不会出现电脑有些吃力的情况,因为不需要把2G都同时load到内存里.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1532 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 23:54 · PVG 07:54 · LAX 15:54 · JFK 18:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.