您的位置:首页 > 职场人生

常见面试数据库优化

2017-07-09 21:22 239 查看
在数据仓库项目中,由于数据规模庞大,提高数据的查询效率是永恒的主题,常见的优化手段有:

1、 硬件优化,提高机器性能,增加硬件等;

2、 优化查询语句,将限定性强的where条件放前,用exists代替in操作等;

3、 优化索引,建立有效的索引并检查和修复缺少的统计信息等;

4、 数据库系统文件优化,将数据文件、索引文件、日志文件放置在不同的磁盘上,提高并行度等

除了以上方法外,还有一种很重要但易被大家忽略的方法:大表数据分割。当一个表的数据规模达到数亿条时,索引已基本发挥不了作用:建立索引要花费大量时间,查询时由于要扫描大的索引表也要花费大量时间。为了发挥索引的作用,可以将大表按照某个字段拆分为若干个小表。

例如,国内某大型保险公司,其有36家分公司,一年的保单明细表(f_policy)大概有2亿条记录,两年的数据超过4亿条,如果在f_policy上作一次查询,响应非常慢,可以考虑将f_policy按照机构拆分为36个同构的小表,在作整个保单明细表的查询时,可以使用union all操作合并数据,或者建立一个union all的视图,查询效率大大提高。并且,作这样的拆分非常有用,因为经常会有只查询某个分公司数据的需求。

“面试题:结合你以往的工作经验谈谈高并发应用的性能优化措施解决方法”:

关键词:面试题 结合 你 以往 工作经验 谈谈 高 并发 应用 性能 优化 措施 解决方法

面试题:结合你以往的工作经验谈谈高并发应用的性能优化措施

希望解答下这个题的意思和答案。谢谢

——解决方案——————–

性能优化。。。

业务数据库 -》 数据水平分割(分区分表分库)、读写分离

业务应用 -》 逻辑代码优化(算法优化)、公共数据缓存

应用服务器 -》 反向静态代理、配置优化、负载均衡(apache分发,多tomcat实例)

系统环境 -》 jvm调优

页面优化 -》 减少页面连接数、页面尺寸瘦身
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息