(20) 性能

目录

数据库主要的功能是帮你存储资料,而且要可以很方便的让你随时查询或者维护数据。但是在数据库运行一段时间,尤其是里面存储了大量数据的時候,你常发现在查询或维护数据的时候,要等待比较长的时间。所以数据库除了储存数据外,效率的问题也是很重要的。数据库在关于效率上的问题会比较复杂一些,跟软、硬体还有网路都有关,这裡只会讨论跟数据库有关的部份,而且会是比较基础的概念。

查询数据算是资料库中最常执行的工作,想要让查询数据的性能可以好一点,查询叙述本身就很重要。另外也可以依照需求建立增加效率的索引,建立正确的索引可以提高查询工作的效率;索引也可以在某些修改与删除工作上看到效果。

储存引擎在性能上也是一个很重要的因素,你会考虑资料库的大小与种类,还有使用者的数量,然后选择一个适合的储存引擎。

MySQL数据库是一种允许多个用户端同时使用的数据库管理系统,在多用户端的的运作环境下,数据库就使用“锁定、Locking”来避免资料的混乱:

mysql_20_snap_34

MySQL提供的“MyISAM”和“InnoDB”两种储存引擎,使用不同的锁定方式来处理上列的情况。MyISAM使用的是“table-level”的锁定方式:

mysql_20_snap_35

MyISAM储存引擎使用的“table-level”锁定方式,适合使用在查询工作非常多,资料维护比较少的数据库,这样的数据库运作起来的效率会比较好。

InnoDB储存引擎使用的是“row-level”的锁定方式:

mysql_20_snap_36

InnoDB储存引擎使用的“row-level”锁定方式,适合使用在查询与资料维护工作都差不多的数据库,这样的数据库运作起来的效率会比较好。

文章导航