30、大表数据查询,怎么优化

大表数据查询,怎么优化

  1. 优化sql语句+索引;
  2. 第二加缓如加redis;
  3. 主从复制,读写分离;
  4. 垂直拆分表,所谓的垂直拆分,就是把原来一个有很多列的表拆分成多个表,这解决了表的宽度问题.
    垂直拆分的原则:
  5. 把不常用的字段表单独存放到一个表中。
  6. 把大字段独立存放到一个表中。
  7. 把经常一起使用的字段放到一起。
  8. 水平切分,水平拆分是指数据表行的拆分,表的行数超过200万行时,就会变慢,这时可以把一张的表的数据拆成多张表来存放,水平拆分的方案:
  9. 范围
  10. 枚举
  11. 时间
  12. 取模
  13. 哈希
  14. 指定
    通常情况下,我们使用取模的方式进行拆分,例如一张400w数据的表,为提高查询效率,我们将其分成四张表(一模一样),然后通过ID取模的方式将数据分散到四张表中, ID%4 + 1 = [1, 2, 3, 4],因此查询更新删除时,我们都可以通过取模的方式获取
相关推荐
KG_LLM图谱增强大模型1 天前
企业级实用本体论的实践指南(2/4):Palantir Foundry如何将组织数据映射到本体概念及关键设计考量
数据库·人工智能
陌路201 天前
redis智能缓存策略--思想
数据库·redis·缓存
计算机毕设VX:Fegn08951 天前
计算机毕业设计|基于springboot + vue出行旅游安排系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·课程设计
一只大黄猫1 天前
【数据库-入门3】基本概念
数据库
@海~涛1 天前
AOSP源码下载与编译
android·数据库·缓存·安卓·安全架构
五阿哥永琪1 天前
MySQL 如何定位&分析慢查询?
android·数据库·mysql
柒.梧.1 天前
从原理到实战:Spring AOP全解析
数据库·sql
山峰哥1 天前
SQL优化中的索引策略与Explain分析实战
大数据·汇编·数据库·sql·编辑器
galaxyffang1 天前
Redis 的 16 个数据库应用场景
数据库·redis·缓存