zoukankan      html  css  js  c++  java
  • mysql优化

    一、数据库优化是一个综合的工作,主要有以下5中方式:

    1.合理的表结构(符合三大范式)

    2.建立适当的索引(常用的有普通索引,主键索引,唯一索引,全文索引)

    3.分表(水平,垂直分割)

    4.读写分离(写包括:update,delete,insert)

    5.存储过程(模块化编程能提高速度)

    6.修改mysql配置(最大并发数,缓存 mysql.init)

    7.服务器硬件升级

    8.定时的清除不需要的数据,碎片整理

    二、下面根据上面提供的方向,逐一讲解

    1.合理的表结构

    满足三大范式,某些情况下,可以反第三大范式,适当冗余数据

    2.sql语句的优化

    如何定位慢查询  SHOW GLOBAL STATUS LIKE 'slow_queries'

    show VARIABLES like 'long_query_time';  //显示当前慢查询的时间

    set long_query_time=1//设置当前慢查询的时间

    3.索引

    3.1 查看 索引的方法

    3.1.1  desc 表名;  show  indexes from 表名; show keys from 表名

    3.2 什么时候创建索引

    反复出现在where字句中;唯一性不太差;更改频率不大;

    复合索引只有当where条件中出现复合索引左边的字段时候,才有效。

    or条件中只有两边都有索引才有效。

    4.水平分表:根据业务需求,找到水平分割的标准

    垂直分割:保小不保大。比如把描述 desc字段查看的次数不多,但是价格查询的比较多,可以把desc单独拎出来放在一张新表中。

     5.my.ini的配置

    port,max_connections,缓存。

    6.合理的硬件资源和操作系统

    7.读写分离

  • 相关阅读:
    CentOS7 安装 mysql
    redis简介以及redis集群配置
    分布式布局简述
    字符串
    接口
    接口回调
    java关键字之static
    java关键字之final
    java关键字之abstract
    memcache的配置
  • 原文地址:https://www.cnblogs.com/wesley168/p/9064125.html
Copyright © 2011-2022 走看看