Swift 域中的索引属性
我注意到领域支持索引属性。但并不是所有的数据库系统都支持这一点(或者默认情况下,它是在没有显式声明的情况下完成的) 请解释为什么需要它,以及与使用主键的不同之处。然后,另一个允许加速查询。但是为什么不只使用主键呢 很明显,可以为多个属性编制索引,但为什么要这样做呢?也就是说,我并不代表真正的问题,在这些问题上,索引没有任何用处是做不到的(或者,也许,但从编程的角度来说,它会令人厌恶)。给出两个简单解释索引优点的任务示例:在没有索引和使用索引的情况下,它是如何发生的。结果很明显,“在脸上” 我用SwiftSwift 域中的索引属性,swift,indexing,swift2,realm,indexeddb,Swift,Indexing,Swift2,Realm,Indexeddb,我注意到领域支持索引属性。但并不是所有的数据库系统都支持这一点(或者默认情况下,它是在没有显式声明的情况下完成的) 请解释为什么需要它,以及与使用主键的不同之处。然后,另一个允许加速查询。但是为什么不只使用主键呢 很明显,可以为多个属性编制索引,但为什么要这样做呢?也就是说,我并不代表真正的问题,在这些问题上,索引没有任何用处是做不到的(或者,也许,但从编程的角度来说,它会令人厌恶)。给出两个简单解释索引优点的任务示例:在没有索引和使用索引的情况下,它是如何发生的。结果很明显,“在脸上” 我用S
对不起我的英语(◕‿◕)۶我认为,大多数其他数据库系统都需要一个明确的声明,就像Realm一样 (例如,MySQL
创建表测试(id int,no int,INDEX(id,no));
或在测试(id)上创建索引id\u索引;ALTER TABLE test添加索引id\u索引(id);
,SQLite在用户(name)上创建索引nameindex;
)
因为索引是空间和时间之间的折衷,所以在每次插入
、更新
和删除
查询时,您都会牺牲一些额外的磁盘空间和一点CPU开销,以使大多数(如果不是全部)查询更快
在大多数数据库系统中,创建索引需要显式声明。选择创建索引的列是程序员的责任
领域也是一样的。为属性编制索引将大大加快查询速度,在查询中比较属性是否相等(即=
和中的),但代价是插入速度较慢
在大多数移动应用程序中,由于执行搜索的次数多于更新次数,因此索引在大多数情况下工作良好