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

浙公网安备 33010602011771号