数据库优化问题——分库分表
发布时间
阅读量:
阅读量
数据库性能问题
原因
大量请求阻塞
当系统处于高并发场景时
SQL操作变慢
如果一个数据库包含超过一亿条数据。
一条SQL语句未被索引优化导致整个表都被扫描。
这样的查询执行时间将显著延长。
存储出现问题
业务量剧增,单库数据量越来越大,给存储造成巨大压力。
优化方案
硬件
* 增加机器性能
软件
SQL调优
优化目标:通过改进技术或参数设置等手段使运行缓慢的SQL指令加快执行速度;同时尽量利用索引加快执行速度;若未利用索引可能导致全表扫描(即全表扫描),这将导致整体性能下降。
开启慢 SQL 记录
如果你在使用MySQL...
调优的工具
经常使用「explain」命令来了解SQL语句执行路径;通过分析运行结果能够快速判断该SQL语句是否进行全表扫描以及是否有索引被使用。
该列名为"type",其可能取值包括:ALL、键值索引、范围号、引用号(等效引用号)、常量号、系统号和NULL(按性能优劣排序自左至右)
表结构优化
数据库表冗余字段
在 "user" 表中包含 user_id 和 nickname 等字段,在 "order" 表中也包含 order_id 和 user_id 等字段。要如何获取用户的昵称呢?通常的做法是通过关联 join 操作实现,在查询订单信息时结合用户信息以获得用户的昵称。
缺
全部评论 (0)
还没有任何评论哟~
