回答

收藏

sqlite的清单输入什么时候有用?

技术问答 技术问答 262 人阅读 | 0 人回复 | 2023-09-13

sqlite使用了作者称为“清单键入”的东西,这基本上意味着sqlite是动态键入的:如果愿意,可以将varchar值存储在“- D0 ~) }8 F+ g# ?5 k2 ?+ d
int”列中。6 f% _. z0 q" E- B9 n$ {
这是一个有趣的设计决定,但是每当我使用sqlite时,我就将其像标准RDMS一样使用,并将类型视为静态。确实,在其他系统中设计数据库时,我什至从未希望使用动态类型的列。
' F* m+ |  }) y4 k# h! V9 }那么,此功能何时有用?有人在实践中找到了很好的用途,而对于静态类型的列却很难做到这一点?
8 ~8 u) j( e+ K- k0 U' e$ Z, l9 G& c               
( }; Y/ W" {2 m7 m1 I解决方案:( Q% M7 u& P# a4 P5 M" w4 T
               
8 {: P5 @9 G5 f3 V* s
' Y5 S/ ?8 B6 K: s" W. o* G  n) |, D) G& ^, R
                它实际上只是使类型更易于使用。您无需担心该字段在数据库级别上需要再多大,或者您的整数可以有多少个diget。或多或少是一个“为什么不呢?” 事物。1 z: S" `! t& `
另一方面,SQLServer中的静态类型允许系统更好地搜索和索引,在某些情况下还更好,但是对于所有应用程序的一半,我怀疑数据库性能的提高是否会很重要,否则它们的性能对于其他应用程序而言“差”原因(每次选择都会创建临时表,指数选择等)。( ?0 @5 \6 B9 `! V5 V8 q3 L8 U! r
我一直将SqLite用作我的.NET项目的客户端缓存,因为它太容易使用了。现在,如果他们只能让它像SQL
% K2 Q+ Q: Y0 h. g" w' q" Q( |Server一样使用GUID,那我将是一个快乐的露营者。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则