我可以在sqlite中索引列的前n个字符吗?

问题描述:

官方文档不会对此发表任何评论。我想索引列的前n个字符以节省内存空间。用sqlite甚至可能吗?如果是这样,我该如何做到这一点?我可以在sqlite中索引列的前n个字符吗?

+0

您可以索引完整的列 –

你可以把一个index on an expression

CREATE INDEX xxx ON MyTable(substr(MyColumn, 1, 10)); 

该指标将被用来只有当一个查询表达式索引表达式,如火柴:

SELECT * FROM MyTable WHERE substr(MyColumn, 1, 10) = ?; 

此功能需要的SQLite 3.9或后来,这is available only in Android 7 ("Nougat") or later