随笔分类 -  数据库学习

摘要:场景:数据库磁盘爆满,使用delete 无法清理磁盘 ,清理会有binlog,redolog ,磁盘无法释放。 个人遇到的真实场景:数据库数据上千万,要清理历史数据,但是delete 删除数据无法释放磁盘,运维老大哥给的方案,先分区表,然后再truncate 这样就能清理历史数据,磁盘也能释放。 操 阅读全文
posted @ 2023-10-13 17:45 王军的个人博客 阅读(63) 评论(0) 推荐(0)
摘要:1,出现该问题的原因,代码里导入了mysql的一个连接,但是长时间没有操作,超过了mysql的awiat_timeout 时间(默认8小时) 2,解决思路: 1,修改mysql 的await_timeout (不建议) 2,django 中使用 close_old_connections() 关闭旧 阅读全文
posted @ 2020-11-24 16:35 王军的个人博客 阅读(3213) 评论(0) 推荐(0)
摘要:生成斐波那契数列 def fibo(num): numlist = [0,1] for i in range(num-2): numlist.append(numlist[-2] + numlist[-1]) print(numlist) return numlist 阅读全文
posted @ 2019-12-02 23:48 王军的个人博客 阅读(113) 评论(0) 推荐(0)
摘要:使用sqlalchemy 使mysq自动读写分离: 代码如下: from flask import Flask from flask_sqlalchemy import SQLAlchemy, SignallingSession, get_state from sqlalchemy import o 阅读全文
posted @ 2019-11-19 15:13 王军的个人博客 阅读(874) 评论(0) 推荐(0)
摘要:MULTI 开启事务,后续的命令会被加入到同一个事务中 事务中的操作会发送给客服端,但是不会立即执行,而是将操作放到了该事务对应的一个队列中,服务端返回QUEQUD EXEC 执行EXEC后,事务中的命令才会执行 事务中的命令出错时,不会回滚也不会停止,而是继续执行下一步操作 DISCARD 取消事 阅读全文
posted @ 2019-11-18 18:44 王军的个人博客 阅读(2927) 评论(0) 推荐(0)
摘要:一,复制,对数据进行备份,实现搞可用,提高吞吐量,实现高性能。 1,主从架构 2,多主架构 3,主主从从 4,主备 (实际用得多) 二,分片/分库分表 () 1,垂直拆分 1,垂直分表 2,垂直分库 如果做垂直分库,应该把有关联的表放在同一个库中,因为数据库的事务不能跨库,不能使用inner joi 阅读全文
posted @ 2019-11-18 11:48 王军的个人博客 阅读(529) 评论(0) 推荐(0)
摘要:from contextlib import contextmanager from sqlalchemy import create_engine, ForeignKey from sqlalchemy.ext.declarative import declarative_base from sq 阅读全文
posted @ 2019-11-18 00:02 王军的个人博客 阅读(7435) 评论(0) 推荐(0)
摘要:on duplicate key update 使用:当数据库中有该数据就修改,没有就添加 MySQL语句如下: # id 不存在则添加数据,id存在就更新数据 INSERT INTO t_user(id,name,pwd) VALUE( 1, 'ZS', 'XXX') ON DUPLICATE K 阅读全文
posted @ 2019-11-17 09:59 王军的个人博客 阅读(1372) 评论(0) 推荐(0)
摘要:1,使用主键索引进行查询,修改不是运用主键查询的语句,(B+tree平衡二叉树 主键索引存储了数据行)二分查找法 2,建立适当的联合索引(将经常查询的数据建立联合索引,考虑顺序,如果要查询的数据在联合索引中找到,不会触发二次查询,利用覆盖索引的机制) 3,聚簇索引 和 非聚簇索引,聚簇索引出现在非主 阅读全文
posted @ 2019-11-13 22:50 王军的个人博客 阅读(432) 评论(0) 推荐(0)