我有sqlite表
CREATE TABLE IF NOT EXISTS [app_status](
[id] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL ,
[status] TEXT DEFAULT NULL
)
此表有多个记录,如
1 "success"
2 NULL
其中NULL是sqlite NULL
找出表格至少是一行状态IS NOT NULL
的最快方法是什么?
我可以创建一些索引或其他可以用来计算非空字段的东西吗?
我写了以下查询
SELECT 1 \
FROM [app_status]\
WHERE [status] IS NOT NULL
但需要3毫秒到50毫秒。我想进一步优化这个时间。我怎么能这样做?
答案 0 :(得分:1)
在该列上添加索引(如果它还没有索引)和/或限制您的选择。
select 1 from [app_status] where [status] is not null limit 1;
如果您只是检查列是否包含至少一个非空字段,则无需浏览整个表。