mysql 存储引擎

MyISAM存储引擎

  • MyISAM 支持或不支持的简要特性列表
  • MyISAM为速度而设计,和SELECT搭配起来使用更好
  • 如果表的数据偏向静态,既表中的数据经常更新/删除,太多仅仅是查询操作,那么使用MyISAM时最好的选择
  • MyISAM支持表级锁,如果要在表中的数据上执行一个特定的操作,那么整张表可以被锁起来。在上锁期间,表上不能进行其他的操作。如果表是偏向动态的,既数据经常变更,则会引起性能降级。
  • MyISAM支持全文检索
  • MyISAM支持数据压缩、自我复制、查询缓存、数据加密。
  • MyISAM不支持外键
  • MyISAM不支持事务,所以没有commtt和rollback操作。如果表上执行了一个查询,则没有回退的余地。
  • MyISAM不支持集群数据库

innoDB存储引擎

  • innoDB支持或不支持的简要特性列表。
  • innoDB是为了高可靠性和高性能而设计的,适合处理大量数据。
  • innoDB支持行级锁。这是个很棒的特性,对提升性能很有帮助。不同于mysiam对整个表上锁,innoDB只对select、delete或update操作的特定数据行上锁。在上锁期间,表中的其他数据依然能被操作。
  • innoDB支持外键,对外键约束强制
  • innoDB支持事务,可以执行commit和rollback操作,因此一个事务中的数据变化可以回退。
  • innoDB支持数据压缩。自我复制、查询缓存、数据加密
  • innoDB可以用在集群环境,但是并没有完全支持。不过,innoDB表可以转换为ndb存储引擎,这样就能用在集成环境

MySQL存储引擎中MyISAM和InnoDB,优缺点,索引

  1. MyISAM 优:成熟、稳定、易于管理;表格锁定机制;比innoDB快;缺:optimize清理空间;适合:读取需求、节约空间时间、响应速度快;
  2. InnoDB优:数据库支持外键和事务处理,缺:速度比MyISAM稍慢;占用空间大;适合:用到事务、外键和更高安全性的需求;多用户同时修改表;
  3. 创建索引:alert table tablename add index (`字段名`)   
  4.  

           什么是数据库索引,主键索引,唯一索引的区别,索引的缺点是什么?

    (1)索引:通过在表字段中建立索引可提高查询优化,确保数据的唯一性,以及可以对全文索引字段中的大量文本的搜索进行优化。

    (2)主键索引(primary key):主要作用是确定数据表里一条特定的数据记录的位置。数据表会根据主键的唯一索引性来唯一标示每条记录。

    (3)唯一索引(unique)主要是为了避免数据出现重复(4)区别:每个表中只能有一个主键索引,但可以有多个唯一索引。

   (优点):创建索引可以大大提高系统的性能:

   (1)保证数据库表中每一行唯一性

   (2)加快数据检索速度,最主要的原因。

   (3)加速表和表之间连接

   (4)在使用分组和排序 子句进行数据检索时,显著减少查询中分组和排序时间。

   (5)查询使用优化隐藏器,提高系统性能。

   增加索引也有许多不利的方面:

    (1)创建和维护索引要耗费时间,随着数据量的增加而增加。

    (2)占物理空间,除了数据表占数据空间之外,索引还要占一定的物理空间,如果要建立聚簇索引,空间就会更大。

    (3)当对表数据进行增删改时,索引也要动态维护,降低数据维护速度。

   在哪建索引?

    (1)经常需要搜索的列,加快搜索的速度;

    (2)主键列,强制该列唯一性和组织表中数据排列结构

    (3)经常连接列(外键)加快连接速度

    (4)范围搜索列,因索引已排序,范围是连续

    (5)排序列,因索引已排序,可利用索引排序加快时间;

    (6)WHERE子句列,加快条件判断。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值