美文网首页
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