簡體   English   中英

mysql如何處理不存在的索引值?

[英]How does mysql treat nonexistent index values?

我在Mysql DB中有一個巨大的表。 一欄是例如會話ID。 該字段已建立索引。

如果我在此表中搜索不存在的會話ID,mysql會如何反應? 索引對您有幫助嗎?

當然,索引會有所幫助。 沒有索引,MySQL將不得不搜索整個表以找出沒有與查詢匹配的行。 使用索引,它將僅搜索索引(BTREE),這要快得多。

即使目標是找出表中是否存在該列的值,也可以為該列建立索引,從而絕對提高查詢性能。 正如文檔所 指出的那樣 ,這是因為索引是指向行的指針。 索引數據在物理上與表數據分開存在。 后者是一個更大,更復雜的數據集,查閱索引數據的成本更高。

當查詢SELECT id FROM table where id = 'abc123'執行全表掃描將沒有索引上進行id ,即使它產生沒有結果,但數據的表將如果不是在所有咨詢id被索引因為只掃描索引數據,這足以返回空結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM