MySQL
1.MySQ存储引擎
存储引擎就是指表的类型,其决定了表在计算机中的存储方式。MyISAM引擎的优点在于强调快速读取操作,占用空间小,但不支持事务的完整性与并发性,其将表存储成三个文件,文件的名字与表名相同扩展名为frm(表的结构)、(MYD文件存储数据)、(MYI文件存储索引);InnoDB引擎为表提供了事务、回滚、崩溃修复能力、多版本并发控制的事务安全,它是MySQL上第一个提供外键约束的引擎,但速度没有MyISAM快,占用空间大;Memory引擎是一种特殊的引擎,它基于存储在内存中的内容来创建表,数据也放在内存中。每个引擎实际上对应一个磁盘文件,类型为frm,表示表的结构。这种表的大小是受限制的,服务器要有足够的内存来维持。
2.MySQL数据库性能优化技巧
数据库表中存在索引和防错机制,然而一个简单的查询就会耗费很长时间,故应对其性能进行优化。优化主要分下面六个方面:存储引擎的选择:如果数据表中需要事务处理,应该考虑使用InnoDB,如果不需要事务处理,使用默认引擎MyISAM比较明智。并且不要尝试同时使用两个存储引擎,但是可以利用两个引擎的优势,选择一个主引擎,将另一个引擎作为插件。
计数问题:如果数据表采用的存储引擎支持事务处理,就不应该使用COUNT(*)计算数据表中的行数,因为在产品类数据库使用COUNT(*)最多返回一年近似值,在某个特定时间,总有一些事务处理