当前位置:首页 >  站长 >  数据库 >  正文

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

 2026-08-21 11:30  来源: 互联网   我来投稿 撤稿纠错

  一键部署OpenClaw

网站慢,很多时候不是带宽不够,而是数据库查询慢。优化MySQL其实就两件事:加索引和用缓存。

先说索引。没索引的查询就是全表扫描,10万条数据能查出你服务器CPU飙到100%。加了索引,查询速度能提升百倍。

-- 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就能解决。

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

相关标签
数据库

相关文章

  • 达梦数据:数字化时代,国产数据库第一股终于到来?

    又是新的一年开始。回首一年前的此时,在大家千呼万唤地期待中,数据基础制度体系的纲领性文件正式发布。时隔一年之后,数据资源入表如约而至。2024年1月1日《企业数据资源相关会计处理暂行规定》正式施行,各行各业海量数据巨大的商业价值开始被量化兑现,数据产业正式开启巨大变革。恰逢此时,作为数据资产实现的必

    标签:
    数据库
  • “多写多读集群”被攻克,中国数据库产业“越过山丘”

    2020年全国两会期间,合肥工业大学应用数学研究所所长檀结庆在媒体采访中提到:“国产数据库只占据不到7%的市场份额,尤其在数据库最核心的交易业务中,鲜有能跟甲骨文同台竞争并实现替换的产品。”彼时“去IOE”浪潮已经兴起十多年的时间,但囿于性能、稳定性等客观因素,银行、能源、电信等传统业务,对国产数据

    标签:
    数据库
  • 时序数据库 TDengine 官网全新上线,四大亮点抢先看

    近日,高性能、分布式的物联网、工业大数据平台TDengine在精心筹备后进行了官网的全新改版升级(https://www.taosdata.com/)。新官网进行了非常全面的改造,板块划分更加具象、功能分区也更加明确、整体视觉显著提升,伴随着这些改进,使用者能够更便捷、清晰地了解TDengine的产

    标签:
    数据库
  • 星瑞格国产数据库SinoDB“的进阶之路”

    时至今日,数据已然成为重组全球要素资源、重塑全球经济结构、改变全球竞争格局的关键力量。作为存储与处理数据的关键技术,数据库成为新的经济驱动引擎。国内,在深入推进数字化转型及数据量爆炸式增长的大背景下,数据库产业开始升温。根据大数据技术标准推进委员会日前发布的《数据库发展研究报告(2023年)》显示,

    标签:
    数据库
  • 喜报|星瑞格荣获“2022-2023年度国产数据库应用优秀解决方案”奖项

    近日,赛迪网为表彰数字赛道上的先行者,联合《数字经济》杂志社和北京科创互联,共同组织以“树立行业标杆,引领服务创新”为中心的“2022-2023年度产业数字服务案例及创新成果征集活动”。该活动旨在鼓励各行业数字化应用技术创新树立行业数字服务标杆,带动行业转型升级,促进优秀企业品牌建设和先进技术优秀案

    标签:
    数据库

热门排行

信息推荐