數據庫索引

設計一個數據庫

索引問題

二叉樹和平衡二叉樹

B-Tree樹

B+-Tree樹

hash索引 優缺點

密集索引 和 稀疏索引

MyISAM 稀疏索引和其餘 innoDB 只有密集索引 (彙集索引 非彙集索引)

MyISAM 的 索引和數據是分開的 innoDB的主鍵索引和數據是在一塊的 他們表結構都是單獨儲存的

問題

查看數據庫參數 show variables like '%quer%'

slow_query_log on/off 慢日誌 slow_query_log_file 地址 慢的 sql 輸出地址 long_query_time 10.00000 超過這個時間的sql 會被定義爲慢sqlsql

查看系統運行中慢sql的count show status like '%slow_queriex%'

打開慢sql日誌 set global slow_query_log = on ;

慢查詢sql爲1s set global long_query_time = 1 ;(重連回生效!!!,重啓會還原!!能夠配置到啓動參數,)

Explain + sql

加索引sql -> alter table 表 add index idx_name(字段);

強制使用主鍵索引 sql + force index(primary); 有時候 count(id)不會走主鍵索引,由於innoDB的主鍵索引的葉子節點存在數據,sql優化器會優先使用某個字段的彙集索引列的索引(假若有), 因此沒有索引的innoDB count比MyISAM的count慢,加個索引就行了!~~~~

最左匹配原則

相關文章
相關標籤/搜索