您的位置:58脚本 > 唯一索引 mysql Django4.0 数据库访问优化-使用唯一索引列来检索单个对象

唯一索引 mysql Django4.0 数据库访问优化-使用唯一索引列来检索单个对象

2023-04-04 07:32 Django4中文教程

唯一索引 mysql Django4.0 数据库访问优化-使用唯一索引列来检索单个对象

唯一索引 mysql Django4.0 数据库访问优化-使用唯一索引列来检索单个对象

唯一索引 mysql

当使用 ​unique()​ 或 ​db_index​ 的列来检索单个对象时,有两个原因。首先,由于底层数据库索引的存在,查询的速度会更快。另外,如果多个对象与查找对象相匹配,查询的运行速度可能会慢很多;在列上有一个唯一约束保证这种情况永远不会发生。

例如:

>>> entry = Entry.objects.get(id=10)

会比以下更快:

>>> entry = Entry.objects.get(headline="News Item Title")

因为 ​id ​通过数据库索引,并且保证是唯一的。
执行以下操作可能非常慢:

>>> entry = Entry.objects.get(headline__startswith="News")

首先,​headline ​没有被索引,这将使得底层数据库获取变慢。

其次,查找不保证只返回一个对象。如果查询匹配多于一个对象,它将从数据库中检索并传递所有对象。如果数据库位于单独的服务器上,那这个损失将更复杂,网络开销和延迟也是一个因素。


阅读全文
以上是58脚本为你收集整理的唯一索引 mysql Django4.0 数据库访问优化-使用唯一索引列来检索单个对象全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 58脚本 58jiaoben.com 版权所有 联系我们
桂ICP备12005667号-28 Powered by CMS