Vit*_*lko 3 indexing realm indexeddb swift swift2
我注意到 Realm 支持索引属性。但并非所有数据库系统都支持这一点(或者默认情况下没有显式声明)。
\n\n请解释为什么需要它,以及使用主键有何不同。然后,另一个允许加速查询。但为什么不只使用主键呢?
\n\n很明显,可以对多个属性建立索引,但为什么要这样做呢?也就是说,我并不代表真正的问题,没有使用索引就无法做到(或者也许,但在编程方面这会令人厌恶)。给出几个任务示例,简单地解释索引的优点:没有索引和有索引时它是如何发生的。结果很明显,“在脸上”。
\n\n我用的是斯威夫特。
\n\n对不起我的英语 \xd9\xa9(\xe2\x97\x95\xe2\x80\xbf\xe2\x97\x95)\xdb\xb6
\n我认为大多数其他数据库系统都需要显式声明,就像 Realm 一样。
(例如 MySQLCREATE TABLE test(id int, no int, INDEX(id,no));或CREATE INDEX id_index ON test(id); ALTER TABLE test ADD INDEX id_index(id);SQLite CREATE INDEX nameindex ON user(name);)
因为索引是空间和时间之间的权衡,所以您在每个 、INSERT和UPDATE查询上牺牲了一些额外的磁盘空间和一点 CPU 开销,DELETE以使大多数(如果不是全部)查询速度更快。
在大多数数据库系统中,创建索引需要显式声明。选择在哪些列上创建索引是程序员的责任。
境界也是一样。对属性进行索引将大大加快比较属性是否相等(即=andIN运算符)的查询,但代价是插入速度较慢。
https://realm.io/docs/swift/latest/#indexed-properties
在大多数移动应用程序中,由于搜索执行次数多于更新执行次数,因此索引在大多数情况下都运行良好。
| 归档时间: |
|
| 查看次数: |
5875 次 |
| 最近记录: |