課程
/運維&測試
/Linux
/攜程C4技術分享沙龍
老師說:“基本不允許建主鍵以外的索引 ,堅決不允許用JOIN?GROUP”,
不太理解哦,我們網站經常使用各種非主鍵索引,網站查詢性能也飛快(得意)。要不讓用,只有主鍵,網站會很慢的了。求解釋!
2015-02-09
源自:攜程C4技術分享沙龍 3-2
正在回答
如果寫入數據比較大,的確不用普通索引(非主鍵)更好。非主鍵索引是和數據行單獨存儲的,每次寫入數據時,除了更新數據行(包括了主鍵),還要額外更新非主鍵索引,會降低寫處理的性能,因此如果寫入數據量很大,不宜使用非主鍵索引。
此情況下,通過將數據緩存在redis、mongo、memcached等nosql中,實現查詢的優化。以及通過各種代碼緩存分布式(分庫分表分片)等策略、包括業務邏輯,最終使得查詢性能也能得到較好的保證,或者將各種查詢轉化為依賴數據主鍵的查詢都能保證查詢也有較好的性能。
舉報
來自攜程C4技術沙龍的現場分享,小伙伴們趕緊來嘗鮮吧
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-02-09
如果寫入數據比較大,的確不用普通索引(非主鍵)更好。非主鍵索引是和數據行單獨存儲的,每次寫入數據時,除了更新數據行(包括了主鍵),還要額外更新非主鍵索引,會降低寫處理的性能,因此如果寫入數據量很大,不宜使用非主鍵索引。
此情況下,通過將數據緩存在redis、mongo、memcached等nosql中,實現查詢的優化。以及通過各種代碼緩存分布式(分庫分表分片)等策略、包括業務邏輯,最終使得查詢性能也能得到較好的保證,或者將各種查詢轉化為依賴數據主鍵的查詢都能保證查詢也有較好的性能。