前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL优化方案,你造吗?

MySQL优化方案,你造吗?

原创
作者头像
马哥linux运维
修改2019-07-01 18:41:14
5340
修改2019-07-01 18:41:14
举报

当查询变得很慢很慢,建立索引已经无法提高查询速度时。那么,最常见的MySQL优化方案,你造吗?

SQL查询语句优化的六大方案

1、使用索引

2、借助explain(查询优化神器)选择更好的索引和优化查询语句

3、任何地方都不要使用SELECT * FROM语句。

4、不要在索引列做运算或者使用函数

5、查询尽可能使用limit来减少返回的行数

6、使用查询缓存,并将尽量多的内存分配给MYSQL做缓存

Mysql,它自己有一个master-slave功能,可以实现主库与从库数据的自动同步,是基于二进制日志复制来实现的。在主库进行的写操作,会形成二进制日志,然后Mysql会把这个日志异步的同步到从库上,从库再自动执行一遍这个二进制日志,那么数据就跟主库一致了。

数据库的分库分表,能够立竿见影的提升系统的性能!

分库分表的策略相对于前边两种复杂一些,一种常见的路由策略如下:

1、中间变量 = user_id%(库数量*每个库的表数量); 2、库序号 = 取整(中间变量/每个库的表数量); 3、表序号 = 中间变量%每个库的表数量;

关于分库分表策略的选择有很多种,上文中根据用户ID应该是比较简单的一种。其他方式比如使用号段进行分区或者直接使用hash进行路由等。hash路由策略的优缺点,优点是:数据分布均匀;缺点是:数据迁移的时候麻烦,不能按照机器性能分摊数据。

分库分表之后,如果我们需要对系统进行进一步的扩阵容(路由策略变更),将变得非常不方便,需要我们重新进行数据迁移。

最后需要指出的是,分库分表目前有很多的中间件可供选择,最常见的是使用淘宝的中间件Cobar。另外Spring也可以实现数据库的读写分离操作。


注:文有借鉴。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 当查询变得很慢很慢,建立索引已经无法提高查询速度时。那么,最常见的MySQL优化方案,你造吗?
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档