码迷,mamicode.com
首页 > 数据库 > 详细

Mysql基础常识

时间:2020-07-11 19:27:41      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:流量   commit   权限   并发   connect   insert   过程   cte   原子性   

1、三种操作语句:

DDL(数据库定义语句):数据库、表、视图、索引、存储过程的相关操作语句,例如Create、Drop、Desc、Show等

DML(数据管理语句):插入数据Insert,删除数据Delete,更新数据Update,查询数据Select

DCL(数据库控制语句):如创建数据库用户,设置权限等

2、数据库性能

QPS:每秒钟处理的查询量。TPS:每秒钟处理的事务数量

数据库服务速度缓慢的可能原因:

      大量的并发:数据库连接数被占满

      查看最大连接数:mysql> show variables like ‘%max_connect%‘;

      重新设置最大连接数:mysql> set global max_connections=200;

       查看线程情况:mysql> show status like ‘%Threads%‘;

       技术图片

 

        Threads_connected:数据库当前连接数,也可以使用show full processlist查询,展示信息更加详细

       Threads_running:当前激活的连接数,可认为是并发数

       CPU使用过高:资源耗尽并且出现宕机现象

影响数据库性能的四大因素的思考方向:

    ①sql查询速度(每条sql查询过程只能使用一个CPU)

     ②网卡流量(从服务器数量,缓存设置,select *类型的查询)

     ③服务器硬件

     ④磁盘IO(热数据过多,大于内存空间;数据备份过程)

     ⑤大表的存在(单表行数超过千万,表大小文件超过10G)

事务的四大特性:

      原子性:事务为一个不可分割的最小单元,一个事务开始后要么执行成功,要么失败,不可能只执行一部分事务。

      隔离性:事务对数据库中的数据修改,在事务未提交之前,其他事务是不可见的(四种隔离级别)。mysql> show variables like "%iso%";

                     未提交读(READ-UNCOMMITED):事务未提交,其他事务可见,会出现脏读现象

                      已提交读(READ-COMMITED):事务提交后,其他事务才能读,不会出现脏读现象

                      可重复读(REPEATABLE-READ):事务一在进行时,事务二对事务一要读取的数据进行修改并提交事务。事务一继续还是读取到修改前的数据。锁住事务需要的行

                      可串行化(SERIALLIZABLE):不会出现幻读现象,最高隔离级别,锁住事务需要的表。事务并发大时可能会导致锁超时等问题。

      持久性:一旦事务提交成功,其做的修改会永久保存到数据库中,即使系统崩溃,已提交的数据也不会丢失,redo日志实现。

      一致性:事务如果提交失败,各个表能够恢复到事务开始之前的数据状态。回滚机制靠undo日志完成

Mysql基础常识

标签:流量   commit   权限   并发   connect   insert   过程   cte   原子性   

原文地址:https://www.cnblogs.com/liyuanshu/p/13284977.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!