数据库访问量很大时,如何做优化?
如果有一个特别大的访问量到数据库上时,往往查询速度会变得很慢,所以我们需要进行优化。优化从三个方面考虑:SQL语句优化、主从复制,读写分离,负载均衡、数据库分库分表。 一、SQL查询语句优化 1、使用索引 建立索引可以使查询速度得到提升,我们首先应该考虑在where及order by,group by涉及的列上建立索引。 2、借助explain(查询优化神器)选择更好的索引和优化查询语句 SQL 的 Explain 通过图形化或基于文本的方式详细说明了 SQL 语句的每个部分是如何执行以及何时执行的,以及执行效果。通过 对选择更好的索引列,或者对耗时久的SQL语句进行优化达到对查询速度的优化。 3、任何地方都不要使用SELECT * FROM语句。 4、不要在索引列做运算或者使用函数 5、查询尽可能使用limit来减少返回的行数 6、使用查询缓存,并将尽量多的内存分配给MYSQL做缓存 二、主从复制,读写分离,负载均衡 目前大多数的主流关系型数据库都提供了主从复制的功能,通过配置两台(或多台)数据库的主从关系,可以将一台数据库服务器的数据更新同步到另一台服务器上。网站可以利用数据库这一功能,实现数据库的读写分离,从而改善数据库的负载压力。一个系统的读操作远远多于写操作,因此写操作发向master,读操作发向slaves进行操作(简单的轮询算法来决定使用哪个slave)。