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],因此查询更新删除时,我们都可以通过取模的方式获取
相关推荐
爱学习的阿磊4 小时前
使用Fabric自动化你的部署流程
jvm·数据库·python
枷锁—sha4 小时前
【SRC】SQL注入快速判定与应对策略(一)
网络·数据库·sql·安全·网络安全·系统安全
惜分飞4 小时前
ORA-600 kcratr_nab_less_than_odr和ORA-600 4193故障处理--惜分飞
数据库·oracle
chian-ocean4 小时前
CANN 生态进阶:利用 `profiling-tools` 优化模型性能
数据库·mysql
m0_550024634 小时前
持续集成/持续部署(CI/CD) for Python
jvm·数据库·python
AC赳赳老秦4 小时前
代码生成超越 GPT-4:DeepSeek-V4 编程任务实战与 2026 开发者效率提升指南
数据库·数据仓库·人工智能·科技·rabbitmq·memcache·deepseek
啦啦啦_99995 小时前
Redis-2-queryFormat()方法
数据库·redis·缓存
玄同7656 小时前
SQLite + LLM:大模型应用落地的轻量级数据存储方案
jvm·数据库·人工智能·python·语言模型·sqlite·知识图谱
吾日三省吾码6 小时前
别只会“加索引”了!这 3 个 PostgreSQL 反常识优化,能把性能和成本一起打下来
数据库·postgresql
chian-ocean6 小时前
百万级图文检索实战:`ops-transformer` + 向量数据库构建语义搜索引擎
数据库·搜索引擎·transformer