Android SQLite fts3:我应该插入什么:空值或空字符串?

kka*_*ats 5 sqlite string null android fts3

我为具有多个列的Android应用程序创建了一个SQLite FTS3表.该表由用户的输入填充.但是,并非所有表列都应具有值.示例:有一个名为PLURAL的列.用户提交一个动词(不是名词),因此PLURAL列不应该有值.

我应该在PLURAL列中输入什么,NULL值或空字符串""?

除了影响答案的逻辑外,如果我在空字符串值上使用NULL,那么数据库性能是否有任何显着差异?如果我使用NULL值,是否存在任何已知问题(例如抛出异常)?

我在网上搜索过,我在其他数据库上找到了一些意见,但没有在SQLite fts3上找到.

谢谢!

Bar*_*ica 5

基于逻辑:你不应该插入空字符串NULL,因为在SQL中,word NULL被视为NO VALUE

没有与字符串的空白或无效相关的性能问题.在SQL inner join语句的情况下,唯一的考虑因素可能出现.INNER JOIN仅连接NULL适合连接条件的非字段.有一些特殊的LEFT/RIGHT JOIN声明允许使用NULL连接中的字段.