在数据库级别进行优化
使数据库应用程序快速运行的最重要因素是其基本设计:
- 表格结构合理吗?特别是,列是否具有正确的数据类型,并且每个表是否具有适合工作类型的列?例如,执行频繁更新的应用程序通常具有许多具有少量列的表,而分析大量数据的应用程序通常具有很少列的表。 
- 是否有适当的 索引来提高查询效率? 
- 您是否为每个表使用适当的存储引擎,并利用您使用的每个存储引擎的优势和功能?特别是,事务性存储引擎(例如 - InnoDB非 事务性存储引擎)的选择- MyISAM对于性能和可伸缩性来说非常重要。注意- InnoDB是新表的默认存储引擎。实际上,高级- InnoDB性能特征意味着- InnoDB表通常优于更简单的- MyISAM表,尤其是对于繁忙的数据库。
- 每个表是否使用适当的行格式?此选择还取决于用于表的存储引擎。特别是,压缩表使用较少的磁盘空间,因此需要较少的磁盘I / O来读取和写入数据。压缩适用于具有 - InnoDB表的所有类型的工作负载 以及只读- MyISAM表。
- 应用程序是否使用适当的 锁定策略?例如,通过允许共享访问,以便数据库操作可以并发运行,并在适当时请求独占访问,以便关键操作成为首要任务。同样,存储引擎的选择也很重要。该 - InnoDB存储引擎处理大部分锁定的问题,而不需要您的参与,允许在数据库更好的并发,减少试验和调整的金额,让您的代码。
- 是否正确使用了用于缓存的所有内存区域?也就是说,足够大以容纳频繁访问的数据,但不能太大以至于它们会超载物理内存并导致分页。要配置的主要内存区域是 - InnoDB缓冲池,- MyISAM密钥缓存和MySQL查询缓存。
