Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 域中的索引属性_Swift_Indexing_Swift2_Realm_Indexeddb - Fatal编程技术网

Swift 域中的索引属性

Swift 域中的索引属性,swift,indexing,swift2,realm,indexeddb,Swift,Indexing,Swift2,Realm,Indexeddb,我注意到领域支持索引属性。但并不是所有的数据库系统都支持这一点(或者默认情况下,它是在没有显式声明的情况下完成的) 请解释为什么需要它,以及与使用主键的不同之处。然后,另一个允许加速查询。但是为什么不只使用主键呢 很明显,可以为多个属性编制索引,但为什么要这样做呢?也就是说,我并不代表真正的问题,在这些问题上,索引没有任何用处是做不到的(或者,也许,但从编程的角度来说,它会令人厌恶)。给出两个简单解释索引优点的任务示例:在没有索引和使用索引的情况下,它是如何发生的。结果很明显,“在脸上” 我用S

我注意到领域支持索引属性。但并不是所有的数据库系统都支持这一点(或者默认情况下,它是在没有显式声明的情况下完成的)

请解释为什么需要它,以及与使用主键的不同之处。然后,另一个允许加速查询。但是为什么不只使用主键呢

很明显,可以为多个属性编制索引,但为什么要这样做呢?也就是说,我并不代表真正的问题,在这些问题上,索引没有任何用处是做不到的(或者,也许,但从编程的角度来说,它会令人厌恶)。给出两个简单解释索引优点的任务示例:在没有索引和使用索引的情况下,它是如何发生的。结果很明显,“在脸上”

我用Swift


对不起我的英语(◕‿◕)۶

我认为,大多数其他数据库系统都需要一个明确的声明,就像Realm一样

(例如,MySQL
创建表测试(id int,no int,INDEX(id,no));
在测试(id)上创建索引id\u索引;ALTER TABLE test添加索引id\u索引(id);
,SQLite
在用户(name)上创建索引nameindex;

因为索引是空间和时间之间的折衷,所以在每次
插入
更新
删除
查询时,您都会牺牲一些额外的磁盘空间和一点CPU开销,以使大多数(如果不是全部)查询更快

在大多数数据库系统中,创建索引需要显式声明。选择创建索引的列是程序员的责任

领域也是一样的。为属性编制索引将大大加快查询速度,在查询中比较属性是否相等(即
=
中的
),但代价是插入速度较慢

在大多数移动应用程序中,由于执行搜索的次数多于更新次数,因此索引在大多数情况下工作良好