2021-02-23 17:49发布
(1)不要使用分区,分区性能很低,难以维护
(2)不要使用主从数据库,读写分离有了缓存就再也不需要分主从了,毕竟延迟问题是无法解决的(虽然很小)
(3)如果使用分库分表,那么查询条件务必先走分片键,否则就成了全表查询,性能超低
(1)索引列务必重复度低
(2)使用索引就不能用OR查询,否则索引不起作用
(3)使用索引,like模糊查询不能以%开头
(4)查询条件务必以索引列开头,否则索引失效
(5)联合索引遵守最左原则
分离冷热数据,对于大内存访问评率低的数据适当分离
提高缓存命中率,命名问题
见下面
一.优化SQL语句又分为以下几个方面:
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前后有一个条件的列不是索引,那么查询中讲不使用索引。
最多设置5个标签!
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前后有一个条件的列不是索引,那么查询中讲不使用索引。
一周热门 更多>