99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

Django4.0 數據庫訪問優(yōu)化-使用唯一索引列來檢索單個對象

2022-03-16 18:02 更新

當使用 ?unique()? 或 ?db_index? 的列來檢索單個對象時,有兩個原因。首先,由于底層數據庫索引的存在,查詢的速度會更快。另外,如果多個對象與查找對象相匹配,查詢的運行速度可能會慢很多;在列上有一個唯一約束保證這種情況永遠不會發(fā)生。

例如:

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

會比以下更快:

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

因為 ?id ?通過數據庫索引,并且保證是唯一的。
執(zhí)行以下操作可能非常慢:

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

首先,?headline ?沒有被索引,這將使得底層數據庫獲取變慢。

其次,查找不保證只返回一個對象。如果查詢匹配多于一個對象,它將從數據庫中檢索并傳遞所有對象。如果數據庫位于單獨的服務器上,那這個損失將更復雜,網絡開銷和延遲也是一個因素。


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號