在我的应用程序中,我只是使用SQLlite数据库进行开发。现在,在迁移中,我声明了一个DATE
数据类型,laravel似乎可以毫无问题地处理它,并在数据库本身中将其创建为varchar
。
根据这篇不错的文章(http://www.sqlitetutorial.net/sqlite-date/),SQLite基本上有三种处理日期的选项:
因此,当我尝试制定自己的方法时,我在想,我可能最终会在某个时候需要升级并迁移到性能更高的SQL数据库(mySQL / Postgres等)。然后可能会有数据类型转换的挑战。
但是,在应用程序层,Laravel本身也进行了一些操作。
现在,我要问的问题是,一种类型比另一种类型有什么好处?是否有某种理由选择一种而不是另一种?我的想法是,TEXT对于后端支持是很好的并且易于阅读,但是它可能需要附加编码才能操纵字符串。
INTEGERS可能更高效,并且可以比文本更容易地转换为更大的SQL Server。
有人知道各种选择的优点和缺点的比较吗? 有什么建议吗?提前致谢。
答案 0 :(得分:0)
整数的大小为4个字节。文本中字母的大小为1个字节。 为了表示日期和时间,使用整数时需要1个UTC编号。因此,使用4个字节的整数比使用8个字节的文本要好得多。我完全相同的原因,看不出真正的能比整数更好。我会说你应该使用整数。