[英]Table Primary Key for MySQL performance
向表中添加主鍵(自動增量)以獲得更好的性能是否有用? 此ID不會在查詢中使用,但無論如何它可能對性能有用。
我的一個表沒有主鍵/唯一/索引,工作速度很慢。 那么添加這樣的ID是否更好?或者我應該為一個主鍵創建3列(因為它們必須在一起才能是唯一的)?
PK
,aditional很好你可以在其他列上添加UNIQUE
索引來支持它們
我喜歡總是有一個ID整數自動遞增,因為你永遠不知道什么時候需要從其他人引用這個表或者根據屬性找到一個特定的行(例如,findById().ID整數自動增量列對它來說是完美的大聲笑 )
話雖如此,查詢速度慢的問題取決於每個查詢。 看看你的WHERE子句。 你搜索那些獨特的3列嗎? 然后在這3列之上添加一個索引(並使其唯一,因為它們是唯一的一起)。 如果您的查詢僅按一列搜索,請在其上添加索引。
索引僅提高搜索要編制索引的列的查詢的性能。 未使用的主鍵對性能沒有影響。
如果您的查詢運行緩慢,請確保您在搜索的列上有索引(列不必是唯一的索引)。 並使用EXPLAIN
來查看MySQL如何優化查詢,以及它是否正在使用這些索引。
如果您遇到特定查詢的問題,請在發布數據庫架構和相關查詢的位置開始一個新問題,我們可能會幫助您。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.