来自this问题..
SQLite 主要用于开发目的,因为它非常简单地设置数据库而没有太多挫败感,但它在并发方面的效率肯定低于 MySQL 之类的东西(这很可能用于 Web 应用程序)。因此,无论您是否在开发中使用 SQLLite,都强烈建议在生产中使用 MySQL(或类似的东西)。
为了完整起见,SQLite 还用于“一体式”软件(例如移动开发),您可以在其中轻松地将 SQLite 文件与您的应用程序捆绑在一起。
如SQLite Website所述:
SQLite 并非旨在成为
企业数据库引擎。它不是
旨在与 Oracle 竞争或
PostgreSQL。
和
查看 SQLite 的另一种方式是:
SQLite 并非旨在取代
甲骨文。它旨在取代
fopen().
就 Ruby 的好处而言,实际上并没有太多好处,因为库/ORM(即 Active Record)真正抽象了两个系统之间的差异,以便在单个包装器中创建一致的访问层。
检查此question from stackoverflow
并检查此Google.com :)
阅读本文
何时应该使用 SQLite 以及何时应该使用 MySQl 的问题已经一次又一次地出现。要知道何时何地适合使用 SQLite 或 MySQL 数据库管理系统,首先要知道它们之间的区别是什么,如果有区别的话。
简而言之,SQLite 是一个开源库,它实现了一个独立的事务性 SQL 数据库引擎,它不需要服务器并且只需很少或不需要配置即可工作。另一方面,MySQL 也是开源关系数据库管理系统。
为了回答这个问题,我提供了 SQLite 能够做得很好的一些事情的逐项列表,并且我将其与 MySQL 进行了比较
SQLite 是:
- 易于设置,在许多情况下无需配置或安装
足以用于您只需要临时或用于测试目的的数据库
- 不适合需要用户管理的地方,因为 SQLite 使用文件系统权限,因此您无法使用 GRANT 和 REVOKE 等 SQL 语句。
- 适合在嵌入式应用程序和安装中使用并嵌入到应用程序本身中
- 非常适合快速发展
- 缺乏绩效衡量功能
- 不适合需要数据库并发事务的地方
- 不适合大型数据库,因为 SQLite 将数据库存储在单个文件中,这可能会受到 SQLite 无法跨卷拆分数据的操作系统的限制。
- 不适合在需要客户端/服务器架构的任何情况下使用
适合在中小型网站上使用。这些网站平均每天点击量不超过 10 万次。
- 不容易扩展。除了添加列和重命名表之外,SQLite 中不允许更改表
- 适合在应用程序使用 fopen()、fread() 和 fwrite() 访问文件时替代 Ad-hoc 文件存储。
- 不适合需要存储过程以及需要某些类型的连接的情况
MySQL 是:
- 设置和配置用户要困难得多,这是必须的
适合创建临时数据库以及用于测试目的。这只有在您已经设置了 MySQL 数据库服务器和客户端时才实用
非常适合管理用户及其权限
- 不适合嵌入某些硬件,因为您仍需要数据库的服务器组件。 MySQL 虽然适合使用提供的 libmysql 库嵌入到应用程序中
- 在某些情况下非常适合快速开发
- 非常适合数据上的并发事务,非常适合多用户环境
- 非常适合在集群数据库配置上扩展的大规模生产应用程序
- 非常适合在客户端/服务器架构设置中使用
- 适用于每天点击数十亿次的中小型网站
- 就 MySQL 数据和表而言具有高度可扩展性,并且可以在 MySQL DBA 的任何时候进行操作。这种扩展能力超越了磁盘、物理服务器和位置
- 不打算替换 fopen()、fread() 和 fwrite()。 MySQL 管理自己的数据文件,而不是操作系统
- 与其他主要关系数据库管理系统常见的存储过程、触发器、视图和其他操作完全兼容。 MySQL 仅通过选定的存储引擎提供这些功能
有了这些技巧,我当然希望它们能成为你在下一个项目中选择 SQLite 或 MySQL 时的有效指南。
更多编辑:--
按照这些指南学习 Rails。
http://pragprog.com/book/rails4/agile-web-development-with-rails
http://railsforzombies.org/
http://www.amazon.com/dp/0596518773/
http://railscasts.com/
http://guides.rubyonrails.org/
使用mysql的快速解决方案。我假设你正在使用 rails 3,添加
gem 'mysql2'
在你的 gem 文件中运行
bundle install
并用这个替换您的 database.yml 文件..
# MySQL. Versions 4.1 and 5.0 are recommended.
#
# Install the MySQL driver:
# gem install mysql2
#
# And be sure to use new-style password hashing:
# http://dev.mysql.com/doc/refman/5.0/en/old-client.html
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: my_database_development
pool: 5
username: root
password:
host: localhost
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
adapter: mysql2
encoding: utf8
reconnect: false
database: my_database_test
pool: 5
username: root
password:
host: localhost
production:
adapter: mysql2
encoding: utf8
reconnect: false
database: my_database_production
pool: 5
username: root
password:
host: localhost
我希望他的回答对你有意义。现在为您提供更好的快速提示。开始使用谷歌。