高性能mysql基础知识1

了解mysql的基础知识,这些对马上进行优化可能没有太大的用处,但这是基础

1 并发控制

    读锁和写锁 在并发读或者写的时候会产生读锁和写锁

    锁粒度

        表锁和行级锁

   事务

2 Mysql 存储引擎(这里只比较myisam和innodb)

    Myisam

    存储 myisam将数据库分为索引文件和数据文件,分别存储为.myi和.myd.用户可以在不同服务器上拷贝数据文件和索引文件  .frm文件存储表定义

    加锁与并发 在执行读取的时候,用户可以插入(并发插入)

    自动修复,myisam支持对myisam表的自动检查和修复

     索引特性

    每个myisam表最多可以有64个索引,每个索引最大的列数是16个,这些都可以调整

InnoDB 是专为事务处理的存储引擎

选择合适的存储引擎

    引擎的选择可以基于每一张表,要考虑的因素

       事务处理 如果不需要考虑事务处理,平时的操作多是select和insert,那么选用myisam是不错的选择

       并发 如果只是满足并发的插入和读操作,myisam都是不错的选择。如果需要混合型的并发操作,并且操作之间要互不干扰,那么支持行级锁的是更好的引擎选择

       备份  常规的备份也会影响表的选择

       崩溃后恢复,因为myisam比innodb来说容易崩溃,崩溃后需要用多长时间来恢复,这是个值得考虑的问题。很多人在数据库不需要事务处理的时候仍然选用inndob就是这个原因

      特有特性 

   选择存储引擎的实例

   


 






你可能感兴趣的:(mysql,数据库,优化,服务器,存储,引擎)