# 查看数据库存储引擎、默认引擎——SHOW ENGINES;
1、InnoDB事务型数据库的首选引擎;
2、如果要提供提交、回滚、崩溃恢复能力的事物安全(ACID兼容)能力,并要求实现并发控制,InnoDB是一个好的选择;
3、实时业务生产(直接跟业务处理相关的数据库)mysql引擎首选;
1、 MyISAM拥有较高的插入、查询速度,但不支持事物;
2、 如果数据表主要用来插入和查询记录,则MyISAM引擎能提供较高的处理效率;
3、多用于非实时业务生产,如数据仓库等数据应用数据库环境;(不存在多业务表的事务绑定操作,在用实时业务数据做了清洗、计算后,直接存入对应的数据仓库表,后面直接读取使用)
1、临时存放数据,数据量不大,并且不需要较高的数据安全性,可以选择将数据保存在内存中的Memory引擎,MySQL中使用该引擎作为临时表,存放查询的中间结果;
SHOW PROCESSLIST;
SHOW FULL PROCESSLIST;
每个与mysqld的连接都在一个独立的线程里运行,您可以使用SHOW PROCESSLIST语句查看哪些线程正在运行,并使用KILL thread_id语句终止一个线程;
1、直接将explain加在一个sql前面,全部选中执行即可查看这个sql的执行计划;
2、查看key——是否使用了索引;查看rows——扫描行数,行数越大,执行难度越大;
1、 一张表索引不能过多(5个),并非越多越好;
2、 索引建立在小字段上;
3、 索引建立在离散度大的字段上;
4、 索引应建立在那些将用于JOIN、WHERE条件判断、ORDERBY排序的字段上;
5、 索引非空给默认;
6、 设置延迟建立索引参数,增加更新效率;——DELAY_KEY_WRITE=1(之前只是MyISAM有效,不知新版本,InnoDB是否有效)
7、 5.7 InnoDB 支持全文索引;——为大文本字段建立关键字索引;
8、 聚簇索引 主键、非聚簇索引 非主键;索引使用最终都是依赖聚簇索引
9、 索引是一种数据结构(InnerDB——B+Tree),是需要空间来存储维护的,根据索引来找具体数据的存储位置;(新华字典的前几页)不走索引则全表扫描;
10、 大数据量迁移到新表;先不要建索引,迁移完成再建索引;
11、 数据插入,尽量批量插入;
缓存
使用Nosql、hbase、tablestore、mongodb
Mycat分库分表(一致性hash算法)
分布式按业务分库——拆分数据库
数据库引擎选择
数据同步——数据仓库(业务数据),降低对生产库的压力
努力为每一位计算机大学生/转行同学解答疑惑
vx: vicky2000100
页面更新:2024-04-02
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号