当前位置:  开发笔记 > 后端 > 正文

MySQL vs SQLite + UNIQUE索引

如何解决《MySQLvsSQLite+UNIQUE索引》经验,为你挑选了1个好方法。

由于与这个问题无关的原因,我需要为我的一些项目运行几个SQLite数据库而不是更常见的MySQL,我想知道SQLite在磁盘I/O的速度和性能方面与MySQL的比较(数据库将托管在USB 2.0笔式驱动器中).

我已经阅读了http://www.sqlite.org/speed.html上的数据库速度比较页面,我必须说我对SQLite的性能感到惊讶,但由于这些基准测试有点旧,我正在寻找更新的基准测试(SQLite 3 vs MySQL 5),我的主要关注点是磁盘性能,而不是CPU/RAM.

此外,由于我没有那么多使用SQLite的经验,我也很好奇它是否与InnoDB MySQL引擎中的TRIGGER(更新,删除)事件类似.我也找不到任何方法将一个字段声明为像MySQL那样独特,只有PRIMARY KEY - 有什么我缺少的吗?

作为最后一个问题,我想知道一个好的(最好是免费的或开源的)SQLite数据库管理器是否存在.



1> Chad Birch..:

那里有几个问题:

    就磁盘I/O限制而言,我不认为数据库引擎会产生很大的不同.可能有一些小问题,但我认为这主要是数据库是否可以像您的应用程序那样快速读/写数据.由于您将使用与MySQL或SQLite相同数量的数据,我认为它不会有太大变化.

    SQLite支持触发器:CREATE TRIGGER语法

    SQLite支持UNIQUE约束:列约束定义语法.

    为了管理我的SQLite数据库,我使用Firefox Add-on SQLite Manager.这是非常好的,做我想要的一切.


不同之处在于MySQL可能会尽可能地将所有内容缓存到RAM中.Sqlite不能 - 它希望数据库一直被卸载(事实上是你的应用程序重新启动时).MySQL可以依赖于更长时间的存储并从磁盘缓存数据以减少整体I/O. 任何服务器系统都会这样做.
推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有