• MySQL之优化方案


    一、数据库的优化

    1、架构方面

    读写分离:缓解数据库的压力。

    主从备份:保障数据的安全。

    2、库和表的优化

    (1)分库和分表

    ①垂直分:

      分表:将一些不常用的字段放到另一个附属表中,通过外键进行关联。

      分库:将数据表进行分类,不同的数据表放入不同的库中。

    ②水平分:

      分表:将表中的数据 分为多张相同结构的表去存储,多张表中的数据加在一起才是完整的数据。

      分库:将表中的数据按照某种规则(如地市)进行拆分,来放到不同的库中。

    水平分时主键值的冲突解决办法:

    1.指定每个表的主键取值范围;

    2.采用趋势递增算法;

    3.根据时间+地理位置+天气信息;

    通常来讲分库和分表一般是先垂直分,后水平分。因为垂直分更简单一些,也更符合逻辑思维。

    而且水平拆分还会导致视图和关联查询不可用的问题。

    (2)适当使用反范式

    二、SQL语句的优化

    1、查询时SELECT后面尽量不要使用*,需要什么字段的值就写什么字段。

    2、查询时尽量都添加WHERE条件,避免全表查询。

    3、适当添加索引。

    4、SQL关键字尽量使用大写。

    5、使用关键字IN替代OR方法查询。

    6、更新数据时尽量避免修改索引字段的值。

    7、更新数据时尽量避免修改经常被用作查询条件字段的数据。

    8、注意字段值的数据类型不要写错,如果当前字段加了索引,而你的值类型写错了,会导致索引使用不上,从而造成了全表查询。

    9、将复杂的查询语句拆分为简单的查询语句。

  • 相关阅读:
    转-mysql中int、bigint、smallint 和 tinyint的区别详细介绍
    转-通用接口测试用例设计
    转-接口测试
    剑指offer 面试题43 n个骰子的点数 DP
    HYSBZ 1503 郁闷的出纳员 伸展树
    HYSBZ 1588 营业额统计 平衡二叉树模板
    剑指offer 面试题35 第一个只出现一次的字符
    LightOJ 1030 Discovering Gold 期望
    LightOJ 1027 A Dangerous Maze 概率期望
    剑指offer 面试题34 丑数
  • 原文地址:https://www.cnblogs.com/lavender1221/p/12970515.html
Copyright © 2020-2023  润新知