0
有什麼辦法,using the console
來確定數據庫查找是否使用索引?確定ActiveRecord在查找過程中是否使用了索引?
例如:User.where(name: 'Bob', state: 'Delaware').first
有沒有一種方法,以確定是否被用於快速發現這是一個索引?
我已經添加了索引,但想要驗證它們正在用於某些查找。
感謝
有什麼辦法,using the console
來確定數據庫查找是否使用索引?確定ActiveRecord在查找過程中是否使用了索引?
例如:User.where(name: 'Bob', state: 'Delaware').first
有沒有一種方法,以確定是否被用於快速發現這是一個索引?
我已經添加了索引,但想要驗證它們正在用於某些查找。
感謝
你可以用這個檢查:
User.where(name: 'Bob', state: 'Delaware').explain
請記住,一個指標並不能使查詢更快所有的時間,在某些情況下,指數可能進行查詢運行速度較慢,有些數據庫試圖識別這一點,甚至可能也不使用這個索引。
檢查索引的基數:
https://www.lullabot.com/articles/slow-queries-check-the-cardinality-of-your-mysql-indexes
保重!
http://edgeguides.rubyonrails.org/active_record_querying.html#running-explain
你可以做'User.where(名稱: '鮑勃',狀態: '特拉華')。explain'得到分貝解釋查詢 –