zoukankan      html  css  js  c++  java
  • Mysql基础常识

    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日志完成

  • 相关阅读:
    WinCE 与通讯模块
    6174问题
    阶乘因式分解(一)
    三个数从小到大排序
    公约数和公倍数
    水仙花数
    韩信点兵
    5个数求最值
    求转置矩阵问题
    孪生素数问题
  • 原文地址:https://www.cnblogs.com/liyuanshu/p/13284977.html
Copyright © 2011-2022 走看看