1、事务四大特性
原子性:要么执行,要么不执行
隔离性:所有操作全部执行完以前其会话不能看到过程
持久性:一旦事务提交,对数据的改变就是永久的
一致性:事务前后,数据总额一致
2、varchar和char的使用场景
varhcar:字符长度经常改变
char:用字符长度固定的
3、数据库连接池的作用
维护一定数量的连接,减少创建连接的时间
更快的响应时间
统一的管理
4、系统层面的命令
1)vmstat:Procs: r显示有多少进程正在等待CPU时间。b显示处于不可中断的休眠的进程数量。在等待I/O Memory: swpd显示被交换到磁盘的数据块的数量。未被使用的数据块,用户缓冲数据块,用于操作系统的数据块的数量 Swap: 操作系统每秒从磁盘上交换到内存和从内存交换到磁盘的数据块的数量。s1和s0最好是0 Io: 每秒从设备中读入b1的写入到设备b0的数据块的数量。反映了磁盘I/O System: 显示了每秒发生中断的数量(in)和上下文交换(cs)的数量 Cpu: 显示用于运行用户代码,系统代码,空闲,等待I/O的CPU时间
2)sar:监控系统性能分析
3)top:查看CPU,I/O
4)htop:系统中的一个互动的进程查看器,可以用鼠标操作,比较人性化
5)nmon:
cpu占用率
内存使用情况
磁盘I/O速度、传输和读写比率
文件系统的使用率
网络I/O速度、传输和读写比率、错误统计率与传输包的大小
消耗资源最多的进程
计算机详细信息和资源
页面空间和页面I/O速度
用户自定义的磁盘组
网络文件系统
6)mpstat:显示系统启动以后所有信息的平均值。
5、内存:
free、ps -aux
6、IO设备(磁盘、网络):
ss、netstat、iptraf、iftop、lsof
iostat:实例命令:iostat -dk 1 5
iostat -d -k -x 5 (查看设备使用率(%util)和响应时间(await))
7、cpu负载高,IO负载低
1)、内存不够 2)、磁盘性能差 3)、SQL问题 ------>去数据库层,进一步排查sql问题 4)、IO出问题了(磁盘到临界了、raid设计不好、raid降级、锁、在单位时间内tps过高) 5)、tps过高: 大量的小数据IO、大量的全表扫描
8、数据库优化?
建索引、使用游标、批处理、使用分页、使用存储过程、设置缓存尽可能设大一点。