優化MongoDB查詢速度

2021-10-22 14:41:28 字數 2659 閱讀 6914

1.盡量不適用正規表示式匹配查詢

#正規表示式

datime1[k]

= mycol.

find(}

]}).

count

() #19s

mongodb查詢

#1.查詢 name 欄位為 "runoob" 的資料:

myclient = pymongo.

mongoclient

("mongodb://localhost:27017/"

)mydb = myclient[

"runoobdb"

]mycol = mydb[

"sites"]

myquery =

mydoc = mycol.

find

(myquery)

for x in mydoc:

print

(x)# name 欄位中第乙個字母 ascii 值大於 "h" 的資料,大於的修飾符條件為

import pymongo

myclient = pymongo.

mongoclient

("mongodb://localhost:27017/"

)mydb = myclient[

"runoobdb"

]mycol = mydb[

"sites"]

myquery =}

mydoc = mycol.

find

(myquery)

for x in mydoc:

print

(x)#正規表示式查詢,name 欄位中第乙個字母為 "r" 的資料,正規表示式修飾符條件為

import pymongo

myclient = pymongo.

mongoclient

("mongodb://localhost:27017/"

)mydb = myclient[

"runoobdb"

]mycol = mydb[

"sites"]

myquery =}

mydoc = mycol.

find

(myquery)

for x in mydoc:

print

(x)myresult = mycol.

find()

.limit(3

) #返回指定條數

def getdt_time

(num:

int)

: dt_time =

new_dt = datetime.datetime.

now(

) end_tmp = new_dt.

timestamp()

start_tmp = datetime.

datetime

(new_dt.year, new_dt.month, day=new_dt.day)

.timestamp()

print

(end_tmp, start_tmp)

dt_time[new_dt.

strftime

("%y%m%d")]

=(start_tmp, end_tmp)

print

(dt_time)

for i in range(1

, num)

: end = datetime.

datetime

(new_dt.year, new_dt.month, day=new_dt.day)

.timestamp()

new_dt = new_dt - datetime.

timedelta

(days=1)

start = datetime.

datetime

(new_dt.year, new_dt.month, day=new_dt.day)

.timestamp()

dt_time[new_dt.

strftime

("%y%m%d")]

=(start, end)

# 翻轉字典

key =

[k for k in dt_time.

keys()

] key.

reverse()

new_dt_time =

for k in key:

new_dt_time[k]

= dt_time[k]

return new_dt_time

for k,

(start, end) in datime1.

items()

: datime1[k]

= mycol.

find(}

).count()

if datime1[k]==0

: datime1[k]

= random.

randint

(200

,500

)

SQL優化 加快查詢速度

建檢視的時候,盡量避免檢視中呼叫檢視,直接使用表更快些 盡量避免 select from 表名 這種語法,查那個欄位就直接寫哪個字段,如 select id,code from 表名 因為這個 代表的字段可能會很多,你如果不需要也查出來,既浪費時間,有沒用 可以建乙個讀的表,乙個寫的表,定時將實時表...

報表查詢速度優化建議

今天老闆要求說,報表查詢速度太慢了,需要優化。怎麼搞呢?嘿嘿,有幾種常見方法。計算前置 我先提前算好,你到時候看到的只是我的統計結果 優點 速度快 缺點 需要額外建表和儲存空間 靈活性沒有寫sql 改sql來的快,擴充套件性不強,適用於需求變更不大 對查詢速度有較高要求的報表。換db和儲存介質 不是...

mongodb 查詢優化技巧一

images mongo.image.find skip 0,limit 10 這條語句查詢的元資訊,但是我們還需要建立的作者的資訊 為了減少與mongodb的互動,我們先把查詢出來的作者儲存下來 imagelist user dic images是個迭代器,for 迭代完成之後,迭代器指標指空,所...