在我的应用程序中,我只是使用 SQLlite 数据库进行开发。现在在迁移中,我声明了一个DATE
laravel 似乎可以毫无问题地处理的数据类型,并在数据库本身中将其创建为varchar
.
根据这篇不错的文章(http://www.sqlitetutorial.net/sqlite-date/),SQLite基本上有三个处理日期的选项:
- 使用 TEXT 存储类存储 SQLite 日期和时间
- 用于存储 SQLite 日期和时间值的 REAL 存储类
- 使用 INTEGER 存储 SQLite 日期和时间值
所以当我试图制定我的方法时,我在想我可能最终会在某个时候需要加强并转移到更高性能的 SQL 数据库(mySQL / Postgres / 等)然后可能有数据类型转换的挑战。
但是,在应用层,Laravel 本身也有一些操作。
现在,我要问的问题是,一种类型比另一种类型有什么好处?是否有某种理由选择一种类型而不是另一种类型?我的想法是 TEXT 对于后端支持来说很好并且可读,但它可能需要额外的编码来操作字符串。
INTEGERS 可能更有效,并且比文本更容易翻译成更大的 SQL 服务器。
有谁知道各种选择的优缺点比较?有什么建议吗?提前致谢。