innodb引擎
innodb引擎提供了对数据库的ACID事物的支持。并且还提供了行级锁和外键的约束。它设计的目标就是处理大数据容量的数据库系统。它本身实际上是基于MySQL后台的完整系统。MySQL运行的时候,innodb会在内存中建立缓冲池,用于缓冲数据和索引。但是该引擎是不支持全文搜索的。同时,启动也比较慢,它是不会保存表的行数。当进行select count(*)from table指令的时候,需要进行扫描全表。所以当需要使用数据库的事务时,改引擎就是首选,由于锁的力度小,写操作是不会锁定全表的。所以在并发度较高的场景下使用会提升效率。
MyIASM引擎
myiasm是MySQL的默认引擎,但是不提供事务的支持,也不支持行级锁和外键。因此当执行insert插入和update更新语句时,即执行写操作的时候需要锁定这个表。说以会导致效率降低。不过和innodb不同的是,MyIASM引擎是保存了表的行数,于是当进行select(*)from table语句的时候,可以直接读取以保存的值而不需要进行全盘扫描。所以如果标的读的操作远远多于写的操作时,并且不支持事务的支持,可以将MyIASM作为数据库引擎的首选。
发表评论
共 0 条评论
暂无评论