首次接触MySql,才知道MySql分好几种表类型,请教下,一般使用哪些表类型?一个数据库支持多种表类型吗?如果预计网站日PV为50W的话,查询量大的用什么表类型合适呢?谢谢

解决方案 »

  1.   

    InnoDB  比较合适。
    InnoDB给MySQL提供了具有提交,回滚和崩溃恢复能力的事务安全(ACID兼容)存储引擎。InnoDB锁定在行级并且也在SELECT语句提供一个Oracle风格一致的非锁定读。这些特色增加了多用户部署和性能。没有在InnoDB中扩大锁定的需要,因为在InnoDB中行级锁定适合非常小的空间。InnoDB也支持FOREIGN KEY强制。在SQL查询中,你可以自由地将InnoDB类型的表与其它MySQL的表的类型混合起来,甚至在同一个查询中也可以混合。InnoDB是为处理巨大数据量时的最大性能设计。它的CPU效率可能是任何其它基于磁盘的关系数据库引擎所不能匹敌的。 
      

  2.   


    一般使用哪些表类型: innodb myisam
    一个数据库支持多种表类型吗? 支持
    如果预计网站日PV为50W的话,查询量大的用什么表类型合适呢? 看你写操作多不多,如果不多的话myisam会快,但是不支持事物,反之用innodb
      

  3.   


    如下                   MyISAM Heap BDB InnoDB
     Transactions      No     No  Yes   Yes
     
    Lock granularity  Table Table Page  Row
     
    Storage  Split files In-memory Single file per table Tablespace(s)
     
    Isolation levels None None Read committed All
     
    Portable format Yes N/A No Yes
     
    Referential integrity No No No Yes
     
    Primary key with data No No Yes Yes
     
    MySQL caches data records No Yes Yes Yes
     
    Availability All versions All versions MySQL-Max All Versions
     
      

  4.   

    一般使用哪些表类型: innodb myisam myisam 用于查询
    innodb 用于事务操作
      

  5.   

    MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。 MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。