zoukankan      html  css  js  c++  java
  • Mysql:事务、索引(了解)

    事务

    将一组SQL放在一个批次中去执行

    原则

    原子性:一起成功或者一起失败

    一致性:操作前与操作后的状态一致

    持久性:事务没有提交就恢复到原状

    事务已经提交,被持久化到数据库中

    隔离型:多个用户操作事务相互不影响

    -- 事务流程 
    -- 关闭自动提交 
    SET autocommit = 0;
    -- 事务开启 
    START TRANSACTION
    
    -- START TRANSACTION 之后的sql 被标记为同一个事务中 
    INSERT INTO ...
    UPDATE ...
    
    -- 提交
    COMMIT
    
    -- 回滚
    ROLLBACK
    
    -- 事务结束 
    SET autocommit = 1 -- 开启自动提交
    

    索引

    提高查询效率,本质是数据结构

    分类

    • 主键索引

      • 唯一
    • 唯一索引

      • 避免重复的列出现,可重复
    • 常规索引

      • 默认的
    • 全文索引

      • 跟数据库引擎有关
      -- 显示所有索引信息
      show index
      
      -- 增加全文索引
      alter table school.student add fulltext index `索引名` (`studentname`);
      
      -- 创建索引: create index 索引名称 on 表名(字段名)
      create index id_app_user_name on app_user(`name`);
      

    索引原则

    • 索引不是越多越好
    • 不要对经常变动数据加索引
    • 小数据量的表不需要加索引
    • 索引一般加在常用来查询的字段上

    索引的数据结构

    Hash

    Btree

    作者:zy7y
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    【MySQL】DBA必备的10款最佳MySQL GUI工具
    【MySQL】获取MySQL崩溃时的core file
    字符串经常用的
    centos 系统上如何把python升级为3
    centos6 升级安装openssh7
    多进程
    队列
    线程池,锁,事件
    thread
    进程、线程
  • 原文地址:https://www.cnblogs.com/zy7y/p/13566152.html
Copyright © 2011-2022 走看看