周三去某在线旅游公司面试。被问到了一个关于数据量大的优化问题。问题是:一个主外键关联表,主表有一百万数据,外键关联表有一千万的数据,要求做一个连接。

本人接触过单表数据量最大的就是将近两亿行历史数据(某运营商一业务一年数据)做查询,所有查询相关列必须做索引,而且还要保证不会出现全表扫描情况。也从来没有试过把这么多数据全部拿出来放内存中。只好回答说“再怎么做优化估计都不行,这数据量太大了,性能肯定吃不销。我只能告诉尽可能的添加过滤条件,不要一次用这么多的数据来做连接,能分批做就分批做吧”。

面试人员告诉我,比如说我们的机票业务,我们只把北上广热门城市的放在缓存中,实时刷新即可。其他的每次去查询数据库即可,不必一次把所有的数据全部连接出来放到内存中。

我只能呵呵了,没有业务让我去优化一个sql,这不是扯淡么。

关于这种大数据量优化问题,让我理解最深刻就是分表做法。因为我们公司有个业务需要实时上传数据,每天小百万数据,而且还要做查询。于是分表来做,每天生成一张表,然后把前一天的表添加索引,查询的时候可以根据日期来获取表名。尽量少查询当天数据,因为没有索引比较慢。添加索引的话因为实时插入数据,索引的维护代价比较大,所以选择第二天添加前一天表的索引。

转载于:https://www.cnblogs.com/qishiguilai/p/4265239.html

任何抛开业务谈大数据量的sql优化都是瞎扯相关推荐

  1. 关于某些系统统计查询等业务进行大数据量的测试

    大数据量测试分为两种:一种是针对某些系统存储.传输.统计查询等业务进行大数据量的测试:另一种是与并发测试相结合的极限状态下的综合数据测试.如专项的大数据量测试主要针对前者,后者尽量放在并发测试中.此外 ...

  2. 针对大数据量的渲染优化库:react-virtual的基本使用

    针对大数据量的渲染优化库:react-virtual的基本使用 针对大数据量的渲染优化库:react-virtual(List)的基本使用 react-virtual库的安装及引用 安装 使用 针对大 ...

  3. 记一次百万数据量查询sql 优化

    记一次百万数据量查询sql 优化 问题描述 问题分析过程 总结 简单了解用到的pgsql 的索引结构 pgsql 的with 扩展 对于更大数据量的数据还有没有其他更好的方案 问题描述 数据库用的是p ...

  4. 大数据量表的优化查询

    1:索引,我们最先想到的就是创建索引,创建索引可以成倍的提升查询的效率,节省时间.但是如果数据量太过于巨大的时候,这个时候单纯的创建索引是无济于事的,我们知道假如特别是在大数据量中统计查询,就拿100 ...

  5. Android, BaseAdapter 处理大数据量时的优化

    Android优化 最常见的就是ListView, Gallery, GridView, ViewPager 的大数据优化  图片优化  访问网络的优化 优化的原则: 数据延迟加载  分批加载  本地 ...

  6. 一个大数据量表访问优化--联动下拉框查询优化

    问题描述有一数据表(产品标签表,每个产品一个唯一的SN,每月100万左右),查询界面上有2个联动下拉框,[规格]____,[批次]______ 用户选择一个规格后(目前200来个规格),列出该规格下达 ...

  7. 大数据量高并发访问的数据库优化方法

    一.数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能.所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的. ...

  8. 大数据量高并发的数据库优化(转)

    参考:http://www.cnblogs.com/chuncn/archive/2009/04/21/1440233.html 一.数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户 ...

  9. 大数据量下高并发同步的讲解(不看,保证你后悔!)

    偶然的机会在网上看到了这篇blog,觉得作者写得挺不错的(虽然自己并没有怎么看懂...),所以就转来跟大家分享分享吧~~~ 对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发 ...

最新文章

  1. Apache架构师的30条设计原则!
  2. nginx、uwsgi部署django项目理论+实战
  3. JZOJ5857 【NOIP提高组模拟A组2018.9.8】没有上司的舞会
  4. java遍历斐波纳契数列_详解循环、迭代、递归、分治(Leet Code 509 斐波那契数列),实际运用...
  5. 一个华为设备防病毒 ACL 配置
  6. 【报告分享】2021全球10大金融科技趋势-蚂蚁集团.pdf(附下载链接)
  7. Linux下的Latex安装和中文支持
  8. java坦克大战案例_java坦克大战
  9. 如何批量转换图片格式为png?
  10. 对于Kindle的分析
  11. text mesh pro html,TextMesh Pro 超链接解析失败
  12. 阳历时间转换为农历时间
  13. Event representations with tensor-based compositions笔记
  14. 使用Selenium模拟登陆百度盘
  15. Android视频背景,动态背景,Android用视频做背景的轻松实现
  16. 各版本 DOTween 下载地址
  17. 海大叔侃币:作为一个炒币者,分享三点经验
  18. hanlp自然语言处理包的基本使用--python
  19. 【java】数组的定义以及初级运用精讲(起点闭关计划)
  20. 最新微信合成大西瓜小游戏(合成版)源码+附带流量主功能

热门文章

  1. SpringTest2
  2. BeanUtils.copyProperties与PropertyUtils.copyProperties用法及区别
  3. lenovo Think Centre TCM 开发环境搭建
  4. Google Map 中混淆和压缩代码的简单示例
  5. Perl文件句柄引用
  6. 在Tomcat下http协议转https协议
  7. 【狂人小白】如何将Java项目发布到Maven中
  8. 039_External Data Source(转载)
  9. 企业被黑客攻击,“怼回去”合法吗?
  10. C#/ASP.NET定时任务执行管理器组件–FluentScheduler定时器