zoukankan      html  css  js  c++  java
  • 高并发之数据库优化

    数据库缓存

    常见的缓存形式:内存缓存,文件缓存

    mysql查询缓存(了解即可)

    query-cache-type
    查询缓存类型,有0、1、2三个取值。0则不使用查询缓存。1表示
    始终使用查询缓存。2表示按需使用查询缓存。

    query_cache_type为1时,亦可关闭查询缓存
    SELECT SQL_NO_CACHE * FROM my_table WHERE condition;

    query-cache-type为2时,可按需使用查询缓存
    SELECT SQL_CACHE * FROM my_table WHERE condition;

    query_cache_size
    默认情况下query-cache-size为0,表示为查询缓存预留的内存为0,则无法使用查询缓存
    SET GLOBAL query_cache_size=134217728;

    查询缓存可以看做是SQL文本和查询结果的映射,第二次查询的SQL和第一次查询的SQL完全相同,则会使用缓存。

    SHOW STATUS LIKE'Qcachehits';//查看命中次数,表的结构或数据发生改变时,查询缓存中的数据不再有效

    清理缓存

    FLUSH QUERY CACHE;//清理鱼询缓存内存碎片
    RESET QUERY CACHE;//从查询缓存中移出所有查询
    FLUSH TABLES;//关闭所有打开的表,同时该操作将会清空查询缓存中的内容

    memcache缓存

    通用缓存机制,用查询的方法名+参数作为查询时的key value对中的key值

    redis缓存

    类似memcache的缓存,支持实务,支持多种数据类型.

    Redis用于数据量较小的高性能操作和运算上,Memcache用于在动态系统中减少数据库负载,提升性能;适合做缓存,提高性能

    其他数据缓存

    Session

    session_set_save_handler
    

    数据库优化

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

  • 相关阅读:
    用例图设计
    第二次结队作业
    第一次结对作业
    第二次个人编程作业
    简易的中文语言翻译器
    第一次博客作业
    个人总结
    第三次个人作业——用例图设计
    第二次结对作业
    第一次结对作业
  • 原文地址:https://www.cnblogs.com/qinsilandiao/p/10758178.html
Copyright © 2011-2022 走看看