欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据库的优化

程序员文章站 2022-06-01 23:05:52
...

一、优化你的sql和索引(Innodb索引比Myisam索引慢,因为一个是聚集索引一个是非聚集索引)

二、加缓存,memcached,redis,命中缓存就可以不用查询数据库。

三、就做主从复制或主主复制,读写分离。

四、垂直拆分,其实就是根据你模块的耦合度,将一个大的系统分为多个小的系统,也就是分布式系统。

五、水平切分,针对数据量大的表,这一步最麻烦,最能考验技术水平,要选择一个合理的sharding key,为了有好的查询效率,表结构也要改动,做一定的冗余,应用也要改,sql中尽量带sharding key,将数据定位到限定的表上去查,而不是扫描全部的表。

数据库的最左查询,MySQL采用b+树原理查询,每次查询复合字段从左到右的属性,依次查询。
例如在没有优化的情况下。 数据表student根据id和score建立复合索引为id _score,现在使用以下查询结果为

(id,score)    可以查询到
(score,id)    不能查询到

如果有优化,那么数据库引擎可以把(score,id)优化为(id,score),从而支持查询。

转载于:https://www.jianshu.com/p/5be0692863a0