mysql数据库如何优化?谁能给出点具体的解决方案?

2021-02-23 17:49发布

11条回答
buzuofa100
2021-02-24 18:54

1、优化分片键(如果有分库分表)

(1)不要使用分区,分区性能很低,难以维护

(2)不要使用主从数据库,读写分离有了缓存就再也不需要分主从了,毕竟延迟问题是无法解决的(虽然很小)

(3)如果使用分库分表,那么查询条件务必先走分片键,否则就成了全表查询,性能超低

2、优化索引

(1)索引列务必重复度低

(2)使用索引就不能用OR查询,否则索引不起作用

(3)使用索引,like模糊查询不能以%开头

(4)查询条件务必以索引列开头,否则索引失效

(5)联合索引遵守最左原则

3、优化缓存

分离冷热数据,对于大内存访问评率低的数据适当分离

提高缓存命中率,命名问题

4、优化sql

见下面

5、硬件优化(治标不治本)


    一.优化SQL语句又分为以下几个方面:

【1】优化查询语句

1、通过Explain和Describe关键字分析select查询语句,从而使开发人员知道查询效率低的原因。

语法如下:explain  select * from bookmanager where Name='admin' \G;

2、通过添加索引进行优化

    说起数据库的性能,索引可能使最物美价廉的东西了。使用索引可以快速的定位表中的某条记录,不用添加内存、不用修改程序,也不用调用sql语句,只需执行一个创建正确的索引,查询速度就可能提高千倍万倍。

    索引并不一定是主键或者唯一的字段,如果表中的某个字段总是被搜索,就可以为其创建索引。

    创建索引的语句如下:

    create index index_name on table_name(manName);

    使用索引应注意的事项:

    (1)使用多列索引时,查询条件必须使用索引的第一个字符。

    (2)like关键字配置的字符串不能以符号“%”开头。

    (3)or关键字连接的所有条件都必须使用索引。如果or前后有一个条件的列不是索引,那么查询中讲不使用索引。


一周热门 更多>