MySql教程

MySQL事务和索引

本文主要是介绍MySQL事务和索引,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

事务和索引

1. 事务

​ 将一组SQL语句放在同一彼此内执行。

执行原则

  • 原子性:要么全部完成,要么全不完成,其中一句错误事务回滚到开始前的状态。
  • 一致性:不论给定的并发事务有多少,事务必须保持与系统处于一致的状态。
  • 隔离性:使同一时间只运行一个并发事务
  • 持久性:事务执行完成,不回滚。

语法

set autocommit = 0; #关闭自动提交
start transaction; #开始一个事务,标记事务的起始点
update ...
update ...
insert ...
commit; #提交事务

2.索引

作用

  • 提高查询速度
  • 确保数据的唯一性
  • 可以加速表与表之间的连接,实现表与表之间的参照完整性
  • 使用分组和排序子句进行数据检索时,可以显著减少分组和排序的时间
  • 全文检索字段进行搜索优化

分类

  • 主键索引(Primary Key):某一个属性组(一个或多个属性)能唯一标识一条记录

  • 唯一索引(unique):避免同一个表中某数据列中的值重复(一个或多个)

  • 常规索引(index):快随定位特定数据,index和key关键字都可以设置;应加在查询找条件的字段

  • 全文索引(Full Text):快随定位特定数据,只有在MyISAM数组引擎上才能使用,只能在char,varchar,text类型上使用全文索引。

create table studeng(
	sid int unsigned not null auto_increment,
	xing char(10) not null default '',
	ming char(10) not null default '',
	sno char(10) not null default '',
    sinfo text,
    primary key (sid),               #主键索引
    unique index unique_sno (sno),   #唯一索引
    index index_name (xing,ming),    #常规索引
    fulltext index full_sinfo (sinfo)#全文索引
) engine = myisam charset = utf8;

创建索引注意事项

  • 索引不是越多越好
  • 不要对经常变动的数据加索引
  • 小数据量的表建议不要加索引
  • 索引一般应加在查找条件的字段
这篇关于MySQL事务和索引的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!