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.读写分离

  • 相关阅读:
    TC SRM 591 (Div2. Practice only)
    SDL2 简单实现图片缩放移动查看
    Linux下socket编程 address already in use 问题
    POJ 2155 二维树状数组
    OJ开发笔记(1)
    开通博客啦~
    [转]STL transform算法中使用toupper函数
    Monkey and Banana HDU 1069
    Ignatius and the Princess IV HDU 1029
    Dungeon Master POJ 2251
  • 原文地址:https://www.cnblogs.com/wesley168/p/9064125.html
Copyright © 2011-2022 走看看