![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
切尔诺贝尔
学海无涯.....做了程序员之后有深刻的体会....
展开
-
mysql-查看sql的执行记录
文章目录需求背景解决思路查看正在执行的语句查看历史执行记录需求背景某公司出现内鬼,有人对外出售内部数据。运营同学帮忙想办法定位,咨询是否查询都会留下痕迹解决思路通过sql语句定位到账号的服务器地址再通过jumpserver的记录定位到这个时间点操作这台数据库的人查看正在执行的语句show processlistoutput:+-------+------+-----------------+----------------+---------+------+-------+---原创 2020-07-02 19:06:26 · 2571 阅读 · 0 评论 -
mysql-聚簇索引/非聚簇索引/覆盖索引
myisam 和 innodb第一个重大区别是InnoDB的数据文件本身就是索引文件。从上文知道,MyISAM索引文件和数据文件是分离的,索引文件仅保存数据记录的地址。而在InnoDB中,表数据文件本身就是按B+Tree组织的一个索引结构,这棵树的叶节点data域保存了完整的数据记录。这个索引的key是数据表的主键,因此InnoDB表数据文件本身就是主索引。myisam的主键索引,索引着数据...原创 2019-09-23 19:49:17 · 602 阅读 · 0 评论 -
mysql-数据表分区操作(range,list,hash,key)
问题场景某数据上传接口经常timeout,发现是因为查询的某消费记录数据库,起初定制时没有按照月份进行分表操作,而是按照客户手机尾号进行了分表,因此固定为9个定位问题原因由于是历史数据,所以单表数据达到千万级别,导致数据过多且因为设置了unique id,导致插入过慢建议不由mysql本身确定唯一,而是在代码中生成唯一值去做判断(可参考-唯一索引和自建索引的区别)建议用批量插入...原创 2019-09-19 19:07:24 · 496 阅读 · 0 评论 -
mysql 批量插入且更新报错TypeError not all arguments converted during string formatting
遇到问题某一接口为数据接收接口,需要大量插入数据,但是同事反馈接口返回速度过慢定位问题尝试在后台记录日志,当一次上传1000条数据时,插入到mysql会非常慢,确定瓶颈就在mysql了尝试解决由一条一条插入,改为批量插入(速度提升十倍以上)拆分原来的表(速度提升)去除原来的唯一索引,在阿里云查看单表可以节省三分之一的内存把insert update 语句改为 insert...原创 2019-09-19 19:03:34 · 4144 阅读 · 0 评论 -
mysql-唯一索引+自建uid检查数据唯一性
问题场景由于单表数据量达到千万,且插入操作非常频繁(uniqueId会影响插入性能),故想研究一下到底是uniqueID性能更加优秀还是自建普通索引更加优秀文章参考极客时间《mysql实战45讲》=-=最近把之前写在有道云笔记上的mysql相关知识全部同步到csdn了=-=,学海无涯啊,继续努力1,结论先行1,业务正确性优先,如果业务角度上不能保证或者业务就是需要数据库来做唯一约束...原创 2019-09-02 19:31:53 · 800 阅读 · 0 评论 -
mysql- B+树的区别,B-树的区别
索引相关数据结构1, B+树的区别,B-树的区别1, 首先解释叶子节点的意思是:一棵树当中没有子结点(即度为0)的结点称为叶子结点,简称“叶子”。 叶子是指度为0的结点,又称为终端结点。2, b+Tree所有的data都是在叶子节点上,这样就可以得出以上B+数索引有的这些优点(见上)3, B-Tree中一次检索最多需要h-1次I/O(根节点常驻内存),渐进复杂度为O(h)=O(logd...原创 2019-09-02 19:24:29 · 389 阅读 · 0 评论 -
mysql-索引分类,以及主键索引和普通索引的区别
各种树的应用场景AVL树: 最早的平衡二叉树之一。应用相对其他数据结构比较少。windows对进程地址空间的管理用到了AVL树。红黑树: 平衡二叉树,广泛用在C++的STL中。如map和set都是用红黑树实现的。B/B+树: 用在磁盘文件组织 数据索引和数据库索引。Trie树(字典树): 用在统计和排序大量字符串,如自动机。索引分类1, 全文索引2, 哈希索引3, b+树索引...原创 2019-09-02 19:21:14 · 6662 阅读 · 7 评论 -
mysql-阿里云mysql数据备份恢复踩的坑
0. 阿里云官方 参考链接:https://help.aliyun.com/knowledge_detail/41817.html大家可以先按照阿里云官方的来,如果发现有地方卡住了再来看我的操作教程~~1. 下载备份实例2. 解压备份实例3. 命令恢复备份数据innobackupex --defaults-file=/home/mysql/data/backup-my.cnf --a...原创 2019-09-02 19:15:15 · 706 阅读 · 0 评论 -
mysql - 单表千万数据插入速度过慢解决方法-分库/分表/分区
问题场景某数据上传接口经常timeout,发现是因为查询的某消费记录数据库,起初定制时没有按照月份进行分表操作,而是按照客户手机尾号进行了分表,因此固定为9个定位问题原因由于是历史数据,所以单表数据达到千万级别,导致数据过多因为设置了unique id,导致插入过慢建议不由mysql本身确定唯一,而是在代码中生成唯一值去做判断(可参考-唯一索引和自建索引的区别)建议用批量插入可...原创 2019-09-02 19:11:21 · 6258 阅读 · 1 评论 -
mysql binlog和redolog
binglogbinglog参数配置:sync_binlogsync_binlog=0 的时候,表示每次提交事务都只写page cache ,不会持久化到硬盘sync_binlog=1 的时候,表示每日提交事务之后都会写page cache,并且持久化到硬盘sync_binlog=N 的时候,表示当积累N次事务之后就会一次性写入硬盘心得1,如果不是什么特别重要的数据,且并发比较高...原创 2019-07-23 19:00:34 · 218 阅读 · 0 评论 -
mysql-实际应用中对于索引的优化
覆盖索引1, select id from table where key between 3 and 5像这条语句,他就会只扫描key的索引,不会再进行回表操作,因为Key索引着id,直接就可以找到值了最左前缀原则1. 最左前缀可以是联合索引的最左 N 个字段,也可以是字符串索引...2. 当已经有了 (a,b) 这个联合索引后,一般就不需要单独再建立a索引了,但是如果要经常单单...原创 2019-07-23 18:58:45 · 129 阅读 · 0 评论 -
python基础模块 关于有效利用mysql连接,避免线程池数量过多-mysql线程池PooledDB
起因:1,有一个web服务每一个请求都会进行mysql操作,操作完线程又会断开连接,故想优化一下,减少web连接mysql那一下浪费的时间2, 线程时每个线程占用一个数据库连接(其实中间进行数据库操作有间隔,但是没有释放,所以相当于是一个数据库占用 一个)导致连接数过多经过: 上Google搜索了python的线程池,然后再自己进行了一个简单的装饰器的封装,保证适应以上两种场景体会: 自己...原创 2019-07-10 17:34:45 · 881 阅读 · 2 评论 -
mysql 索引详解innodb and myisam b+Tree,b-Tree
各种树的应用场景AVL树: 最早的平衡二叉树之一。应用相对其他数据结构比较少。windows对进程地址空间的管理用到了AVL树。红黑树: 平衡二叉树,广泛用在C++的STL中。如map和set都是用红黑树实现的。B/B+树: 用在磁盘文件组织 数据索引和数据库索引。Trie树(字典树): 用在统计和排序大量字符串,如自动机。索引分类1, 全文索引2, 哈希索引3, b+树索引...原创 2019-07-12 19:22:24 · 180 阅读 · 0 评论