四大特性 原子性:一个事务中必须要被视为是不可分割的一个最小单元,整个事务中的所有操作要么都执行成功,要么都执行失败回滚,对于一个事务,不可能只执行其中的一部分,这就是事务的原子性。 一致性:mysql数据库总是从一个一致性的状态到达另一个一致性的状态。比如在执行转账操作时,转账前两个人的总和的状态和转账后两个人的总和的状态是一致的。 隔离性:对于一个事务来说,在最终提交前,对其他的事务是不可见的。 持久性:一旦提交事务,则其所做的修改会永远的保存到数据库。即使系统崩溃,修改的数据也不会丢失
事务命令 查看表的创建语句,可以看到engine=innodb use t1 show create table score 开启事务 begin 或者 start transaction 提交事务 commit 回滚事务 rollback #注意:修改数据的命令会自动的触发事务,比如delete,update,insert
增加删除索引
其实,primary_key就是索引,在新建表结构时规定parmary_key即可。如果要增加索引,那么请看下边: 增加索引 ALTER TABLE `student` ADD IDNEX aaa(`class_id`) #添加普通索引 删除所有 drop index aaa on student
加/不加索引--时间测试
# 往数据库增加100000条数据 from pymysql import connect def main(): conn=connect(host=‘localhost‘,port=3306,user=‘root‘,password=‘‘,database=‘t1‘,use_unicode=True) cursor=conn.cursor() for i in range(100000): cursor.execute("insert into test_index value(‘ha-%d‘)"%i) conn.commit() if __name__ == ‘__main__‘: main()
# linux下执行操作
use t1 set profiling=1 #开启时间检测
select * from test_index where title=‘ha-99999‘
show profiles; #查询结果为0.28s
create index title_index on test_index(title(10)); #为表test_index的字段title增加索引
select * from test_index where title=‘ha-99999‘
show profiles; #查询结果为0.07s
原文:https://www.cnblogs.com/djfboai/p/11029007.html