美文网首页
MySQL事务和索引详细基础语句

MySQL事务和索引详细基础语句

作者: 司徒新新 | 来源:发表于2020-05-04 18:43 被阅读0次

    事务

    -- 事务  模拟A向B转账   必须A扣完  B加完 两部都完成了才算完成  否则失败  
    SET autocommit = 0; -- 关闭事务
    
    START TRANSACTION -- 开启一个事务 (一组事务)
    
    UPDATE account SET money = money - 500 WHERE `name` = 'A'  -- A减500
    
    UPDATE account SET money = money + 500 WHERE `name` = 'B'  -- B减500
    
    COMMIT;     -- 提交事务,事务就被持久化了
    
    ROLLBACK; -- 回滚
    
    SET autocommit = 1; -- 恢复默认值
    

    索引

    -- 索引
    SHOW INDEX FROM student; -- 显示全部索引信息
    
    ALTER TABLE school.student ADD FULLTEXT INDEX `email`(`email`); -- 增加一个全文索引(索引名) 列名
    
    -- EXPLAIN 分析SQL执行的情况
    EXPLAIN SELECT * FROM student; -- 非全文索引
    
    SELECT * FROM student WHERE MATCH(email) AGAINST('com');
    
    -- 测试
    -- id _ 表名 _ 字段名
    -- CREATE INDEX 索引名 ON 表(字段)
    CREATE INDEX id_student_name ON student(`name`); -- 给表的name字段 添加索引
    SELECT * FROM student WHERE `name` = 'xinxin';  -- 正常查询
    EXPLAIN SELECT * FROM student WHERE `name` = 'xinxin';  -- 根据索引查询
    
    

    索引在小的数据量的时候区别不大,但是在数据量大的时候,区别十分明显!!!


    索引需要注意的(原则)

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

    建议查看索引的数据结构.

    相关文章

      网友评论

          本文标题:MySQL事务和索引详细基础语句

          本文链接:https://www.haomeiwen.com/subject/rfbyghtx.html