zoukankan      html  css  js  c++  java
  • 高并发大流量专题---10、MySQL数据库层的优化

    高并发大流量专题---10、MySQL数据库层的优化

    一、总结

    一句话总结:

    mysql先考虑做分布式缓存,过了缓存后就做mysql数据库层面的优化

    1、mysql数据库层的优化的前面一层是什么?

    数据库缓存:突破了数据库缓存就需要做mysql数据库层的优化

    2、mysql优化方向?

    数据表数据类型优化;索引优化;SQL语句的优化
    存储引擎的优化
    数据表结构设计的优化
    数据库服务器架构的优化

    3、mysql数据表的数据类型优化考虑?

    合适:字段使用什么样的数据类型更合适
    更快:字段使用什么样的数据类型性能更快

    4、使用char还是varchar需要考虑什么?

    存储字符串长度是否固定

    5、使用tinyint、smallint、bigint需要考虑什么?

    空间:考虑空间的问题
    范围:考虑范围的问题

    6、IP地址的如何存储?

    可以使用整型存储IP地址:php应该有将ip转成整型的方法

    7、mysql索引如何优化?

    建立合适的索引
    思考索引在什么场景下效率最高

    8、mysql索引的创建原则?

    索引不是越多越好,在合适的字段上创建合适的索引
    复合索引的前缀原则

    9、mysql索引的注意事项?

    1、复合索引的前缀原则
    2、like查询%的问题
    3、or条件索引使用情况
    4、字符串类型索引失效的问题:如果里面是整形,不要引号索引失效


    复合索引的前缀原则
    like查询%的问题
    全表扫描优化
    or条件索引使用情况
    字符串类型索引失效的问题:如果里面是整形,不要引号索引失效

    10、SQL语句如何优化?

    优化查询过程中的数据访问
    优化长难句的查询语句
    优化特定类型的查询语句

    11、优化查询过程中的数据访问 需要注意什么?

    使用Limit
    返回列不用*

    12、如何优化长难句的查询语句?

    变复杂为简单
    切分查询
    分解关联查询:有利于做数据层面的缓存

    13、如何优化特定类型的查询语句?

    优化count()
    优化关联查询;优化子查询
    优化Group by和distinct;优化limit和union

    14、mysql数据库存储引擎如何优化?

    尽量使用InnoDB存储引擎:是行锁不是表锁

    15、数据表结构设计如何优化?

    分区操作:通过特定的策略对数据表进行物理拆分:比如地域
    分库分表:比如经常在线的和经常不在线的分开

    16、分区操作的特点?

    通过特定的策略对数据表进行物理拆分:比如地域
    对用户透明
    partition by

    17、分库分表的方式有哪些?

    水平拆分:拆行:比如经常在线的和经常不在线的分开
    垂直拆分:拆列

    18、数据库服务器架构如何优化?

    主从复制
    读写分离
    双主热备
    负载均衡

    19、mysql数据库中的主从复制、读写分离、双主热备 如何实现?

    使用mysql的vlog日志、中心日志,通过主库和从库的vlog来回的交换,事件来回的传送,即可实现

    20、MySQL的负载均衡 如何实现?

    通过LVS的三种基本模式实现负载均衡
    MyCat数据库中间件实现负载均衡

    二、内容在总结中

     
  • 相关阅读:
    readonly const
    多线程的安全性
    【C++】operator运算符重载
    C++ 多态的实现及原理(转载)
    C语言宽字符处理函数对照表
    UTF8编码规则(转)
    PE文件结构(转)
    C语言中宏定义
    汇编语言移位指令
    数组指针应该结合二维数组多维数组来理解
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/11054432.html
Copyright © 2011-2022 走看看