网站地图 - XML地图 - 设为首页 - 加入收藏
您的当前位置:主页 > 国内 > 正文

天国的嫁衣

网站数据库优化:MySQL调优和缓存策略_我的网站

秘密

一 |     

     一键部署OpenClaw        网站慢,很多时候不是带宽不够,而是数据库查询慢。

二 |     

新华社新加坡7月7日电 2022三人篮球亚洲杯7日在新加坡展开资格赛角逐,中国三人篮球国家男队先后击败汤加队和斯里兰卡队,晋级本届亚洲杯正赛。据中国三人篮球国家男队主教练王占宇介绍,此次亚洲杯中国男队由刘泽一、赵嘉仁、赵嘉义和吕俊虎四名来自中国男篮职业联赛(CBA)的球员组成,四人都是U23球员,其中刘泽一、赵嘉仁和赵嘉义都是第一次接触三人篮球。

三 | 中国队当天首战对阵汤加队,刘泽一开场连续两次空切得分,内线占据优势的中国队迫使对手收缩防线,给外线留下更多出手空间,全场投中四记两分球,以21:6轻松取胜。优化MySQL其实就两件事:加索引和用缓存。    先说索引。

中国队第二场面对斯里兰卡队,延续了上一场的策略,用内线进攻给外线创造机会,以21:8获胜,拿到正赛入场券。

四 | 没索引的查询就是全表扫描,10万条数据能查出你服务器CPU飙到100%。正赛中,中国男队和东道主新加坡队以及从另一组资格赛中胜出的菲律宾队同在C组。亚洲杯正赛共分四个小组,每组三支球队进行单循环赛,每组前两名进入下一轮。加了索引,查询速度能提升百倍。中国队首场比赛将在9日对阵新加坡队。谈到参赛目标,王占宇表示:“一方面我们是抱着让新人通过赛事得到成长和提高的期望,同时我们也希望队员们在比赛中拿出全力拼搏、奋勇争先的精神,在比赛成绩上争取实现一个历史突破。”中国三人篮球国家女队不需要参加资格赛,直接落位亚洲杯正赛C组,将在9日的两场小组赛中分别迎战资格赛胜者和澳大利亚队。    -- MySQL索引优化示例    -- 查看慢查询(找出需要优化的SQL)    SELECT * FROM mysql.slow_log    WHERE start_time > NOW() - INTERVAL 1 DAY    ORDER BY query_time DESC LIMIT 10;    -- 用EXPLAIN分析查询计划    EXPLAIN SELECT * FROM articles    WHERE category_id = 5 AND status = 1    ORDER BY created_at DESC LIMIT 20;    -- 如果type是ALL(全表扫描),就需要加索引    CREATE INDEX idx_category_status_time    ON articles(category_id, status, created_at);    -- 复合索引遵循最左前缀原则    -- 即:查询条件从左到右依次命中索引    再说缓存。领用最多的场景是Redis缓存。把查询结果存到Redis里,下次查询直接从Redis取,不用查数据库。

五 |     # Redis缓存示例(PHP + Redis)    // 先查缓存    $redis = new Redis();    $redis->connect('127.0.0.1', 6379);    $cacheKey = 'article_list_page_' . $page;    $cached = $redis->get($cacheKey);    if ($cached) {    // 缓存命中,直接返回    echo $cached;    } else {    // 缓存未命中,查数据库    $articles = $pdo->query("SELECT * FROM articles ORDER BY id DESC LIMIT 20")->fetchAll();    $html = renderArticles($articles);    // 存入缓存,过期10分钟    $redis->setex($cacheKey, 600, $html);    echo $html;    }    MySQL本身也有查询缓存,在my.cnf里开启就行。但注意,数据更新后缓存不会立即失效,对实时性要求高的场景不适合。    # MySQL查询缓存配置(my.cnf)    query_cache_type = 1    query_cache_size = 64M    query_cache_limit = 2M    # InnoDB缓冲池大小(一般设为内存的70%)    innodb_buffer_pool_size = 2G    innodb_log_file_size = 256M    最后,定期清理数据库碎片和日志。

六 | 数据量大了,碎片会导致查询变慢。

七 | 每月跑一次OPTIMIZE TABLE就能解决。

        
    

申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!。

Current article:http://o1f.cheshenzhuaduanza.buzz/hfi5za/ggwuum.html

Published on:06:52:17


注:凡本网注明来源非本站的作品,均转载自其它媒体,并不代表本网赞同其观点和对其真实性负责。
本站致力于帮助文章传播,希望能够建立合作关系。
若有任何不适的联系以下方式我们将会在24小时内删除。联系方式:
Copyright © 2018 我的网站 版权所有