Laravel / SQLite中一个“ DATE”数据类型相对于另一个数据类型有什么好处?

时间:2018-08-22 21:07:12

标签: sql laravel sqlite

在我的应用程序中,我只是使用SQLlite数据库进行开发。现在,在迁移中,我声明了一个DATE数据类型,laravel似乎可以毫无问题地处理它,并在数据库本身中将其创建为varchar

根据这篇不错的文章(http://www.sqlitetutorial.net/sqlite-date/),SQLite基本上有三种处理日期的选项:

  • 使用TEXT存储类存储SQLite日期和时间使用
  • 用于存储SQLite日期和时间值的REAL存储类
  • 使用INTEGER存储SQLite日期和时间值

因此,当我尝试制定自己的方法时,我在想,我可能最终会在某个时候需要升级并迁移到性能更高的SQL数据库(mySQL / Postgres等)。然后可能会有数据类型转换的挑战。

但是,在应用程序层,Laravel本身也进行了一些操作。

现在,我要问的问题是,一种类型比另一种类型有什么好处?是否有某种理由选择一种而不是另一种?我的想法是,TEXT对于后端支持是很好的并且易于阅读,但是它可能需要附加编码才能操纵字符串。

INTEGERS可能更高效,并且可以比文本更容易地转换为更大的SQL Server。

有人知道各种选择的优点和缺点的比较吗? 有什么建议吗?提前致谢。

1 个答案:

答案 0 :(得分:0)

整数的大小为4个字节。文本中字母的大小为1个字节。 为了表示日期和时间,使用整数时需要1个UTC编号。因此,使用4个字节的整数比使用8个字节的文本要好得多。我完全相同的原因,看不出真正的能比整数更好。我会说你应该使用整数。