mysql性能优化
--查看安装脚本 select version() --非交互式超时时间,如jdbc show global variables like 'wait_timeout'; --交互式超时时间,如数据库工具 show global variables like 'interactive_timeout'; show session variables like 'interactive_timeout'; --服务端当前有多少个连接 show global status like 'Thread%'; --默认的最大连接数(16384) 2^14 show variables like 'max_connections'; --修改(关闭之后失效) 动态修改,永久修改改配置文件 set global max_connections=1024; --mysql 数据目录 show variables like 'datadir'; --netstat -an|grep 3306 --控制客户端给服务器端发送包的大小 show variables like 'max_allowed_packet' --查看mysql 的缓存 show variables like 'query_cache%';
mysql解析树:
--查询最后一个sql语句的开销 show status like 'Last_query_cost'
索引的数据结构:
MyIsam-主键索引:
innoDb-主键索引
列的离散度:
B-Tree
show global status like 'innodb_page_size';
在索引文件中myi中找到索引对应的b+tree,拿到磁盘文件对应的地址,去myd文件中查找
mysql存储innodb和 myisam 不同:
1.innodb 支持事务,myisam 不支持
2.innodb 支持外键,myisam 不支持
3.innodb 支持表锁和行锁,myisam 支持表锁
4.innodb5.6 支持全文索引
5.innodb 叶子节点直接存放的是数据,myisam 存放的是地址。