sqlite使用作者称之为" Manifest Typing "的东西,这基本上意味着sqlite是动态类型的:如果你愿意,你可以在一个"int"列中存储一个varchar值.
这是一个有趣的设计决定,但每当我使用sqlite时,我就像标准的RDMS一样使用它,并将类型视为静态.实际上,在其他系统中设计数据库时,我甚至从未希望使用动态类型列.
那么,这个功能何时有用?有没有人在实践中找到了一个很好用的东西,用静态类型的列不能轻易完成?
它真的只是使类型更容易使用.您不必担心这个字段在数据库级别需要多大,或者您的整数可以有多少个.或多或少是'为什么不呢?' 事情.
另一方面,SQL Server中的静态类型允许系统更好地搜索和索引,在某些情况下更好,但是对于所有应用程序的一半,我怀疑数据库性能改进是否重要,或者他们的性能对其他人来说"差".原因(每个选择创建临时表,指数选择等).
我一直使用SqLite将我的.NET项目作为客户端缓存,因为它太容易使用了.现在,如果他们只能使用与SQL服务器相同的GUID,那么我将是一个快乐的露营者.