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,因此查询更新删除时,我们都可以通过取模的方式获取
相关推荐
IvorySQL7 小时前
PostgreSQL 日报|修复截断 zstd 备份检测(10 月 9 日)
数据库·postgresql
刘胡子大叔7 小时前
SQL 脚本的导入顺序
数据库·sql
代码什么用8 小时前
Spring对IoC的实现
数据库·spring
hz5678910 小时前
涉密视频会议设备配置指南:终端、音视频采集与配套设施选型
服务器·网络·数据库·安全·实时音视频·信息与通信·智能硬件
广州浮点FLOATLIC10 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
程序员Sunday10 小时前
MySQL 为什么使用 B+ 树索引?把范围查询、回表和覆盖索引连起来
数据库·mysql
半杯咖啡半行码10 小时前
Qt开发实战:数据库、MV 模式、QProcess与串口通信全攻略
数据库·qt
小米里的大麦11 小时前
16 MySQL 事务
数据库·mysql
西柚小萌新11 小时前
【LLM&&AI应用开发 八股文】--4.3.Agent智能体(下)
java·开发语言·数据库
邓工说电12 小时前
智慧断路器安全吗?数据加密、离线保护与合规认证全解读
大数据·数据库·人工智能·智能断路器·炜晔科技