gpt4 book ai didi

c# - 何时在 Sqlite.Net 类上使用 Index 属性?

转载 作者:行者123 更新时间:2023-11-30 23:20:27 25 4
gpt4 key购买 nike

我正在使用 Sqlite.Net 构建一个移动应用程序,我遇到了 Indexed 属性。这在此处的示例中显示:https://github.com/praeclarum/sqlite-net#example-time

public class Stock
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
[MaxLength(8)]
public string Symbol { get; set; }
}

public class Valuation
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
[Indexed]
public int StockId { get; set; }
public DateTime Time { get; set; }
public decimal Price { get; set; }
}

如您所见,StockId 列被标记为 Indexed 但在查询表时,它肯定会由 Sqlite 引擎来处理确定索引并优化查询。

所以我的问题是什么是 Indexed 属性,我需要它吗?

最佳答案

but when querying the tables it will surely be up to the Sqlite engine to determine the indexes

不可以,索引必须预定义并通过插入、更新和删除进行维护。当查询运行时,引擎可以决定使用或忽略哪些索引,但不创建索引。

因此外键上的[Indexed] 属性是一个适当的手动优化。

关于c# - 何时在 Sqlite.Net 类上使用 Index 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39744637/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com