数据库索引

设计一个数据库

索引问题

二叉树和平衡二叉树

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慢,加个索引就行了!~~~~

最左匹配原则

相关文章
相关标签/搜索