对性能优化的一点思考

简介:
 说到数据库性能优化,大家都能说上来N条注意事项。可真正运用的时候往往会忽略这方面的内容。当时有时候可能是由于要的比较急,容不得多想。但磨刀不误砍柴工。下面是一个我刚近遇到的一个例子。希望大家可以重视下这方面的内容。

原因:公司要对某系统数据进行审核。于是得到任务,从数据库中提取出某一日的相关数据,及当日及其后第一日,第三日,第五日,第十日等的相应收盘价。

分析:收盘价放在jiaoyi表里。大约有四百万行数据,相关数据不是很多只有几万。中间对应要用到表day_a主要存储交易日信息。主要用到的也就这三个表。

编写代码:
1.我想到用join直接生成结果集。但运行十分钟还没有出来结果。放弃。
2.准备写一张表,然后向里面插入数据。
即先将相关数据写入到表中,再update当日,五日,十日等数据。
但update的时候速度非常慢。我还是一列一列的update,大约一列要三到五分钟,代码简单如下:
update a
set a.today=b.f0050
from boyi_11001 a,(select symbol,f0050 from jiaoyi where convert(varchar(20,createdate,112)=20071018) b
where a.symbol=b.symbol
后来发现createdate这一列为写入时间,要用TDATE列。TDATE为int型。改为如下代码
update a
set a.today=b.f0050
from boyi_11001 a,(select symbol,f0050 from jiaoyi where Tdate=20071018) b
where a.symbol=b.symbol
结果只用了2秒。当然可能还是TDATE上做过索引有关系。
在这只是想说。优化要体现在平时的每一段代码里。









本文转自 boyi55 51CTO博客,原文链接:http://blog.51cto.com/boyi55/50781,如需转载请自行联系原作者
目录
相关文章
|
存储 负载均衡 Dubbo
深入理解Dubbo-4.Dubbo扩展SPI
深入理解Dubbo-4.Dubbo扩展SPI
253 1
|
11月前
|
机器学习/深度学习 人工智能 搜索推荐
探索人工智能在现代医疗中的革新应用
本文深入探讨了人工智能(AI)技术在医疗领域的最新进展,重点分析了AI如何通过提高诊断准确性、个性化治疗方案的制定以及优化患者管理流程来革新现代医疗。文章还讨论了AI技术面临的挑战和未来发展趋势,为读者提供了一个全面了解AI在医疗领域应用的视角。
257 11
|
9月前
【YashanDB 知识库】如何排查 YMP 报错:”OCI 版本为空或 OCI 的架构和本地系统的架构不符“
在迁移预检查的版本检查阶段报错“OCI 版本为空”,原因是 OCI 架构与本地系统不符或依赖库缺失。排查发现 `libdrv_oracle.so` 缺少 `libnsl.so.1` 库,尽管 OCI 客户端路径已正确加入 `LD_LIBRARY_PATH`。解决方法包括下载安装相应动态库版本,或通过软链接指向更高版本库(如 `libnsl.so.2`)。总结:确保动态库路径正确配置,并使用 `ldd` 查看依赖库,必要时创建软链接以解决问题。
|
关系型数据库 分布式数据库 数据库
PostgreSQL+Citus分布式数据库
PostgreSQL+Citus分布式数据库
395 15
|
C# 开发者 前端开发
揭秘混合开发新趋势:Uno Platform携手Blazor,教你一步到位实现跨平台应用,代码复用不再是梦!
【8月更文挑战第31天】随着前端技术的发展,混合开发日益受到开发者青睐。本文详述了如何结合.NET生态下的两大框架——Uno Platform与Blazor,进行高效混合开发。Uno Platform基于WebAssembly和WebGL技术,支持跨平台应用构建;Blazor则让C#成为可能的前端开发语言,实现了客户端与服务器端逻辑共享。二者结合不仅提升了代码复用率与跨平台能力,还简化了项目维护并增强了Web应用性能。文中提供了从环境搭建到示例代码的具体步骤,并展示了如何创建一个简单的计数器应用,帮助读者快速上手混合开发。
425 0
|
设计模式 开发框架 .NET
分享一个 .NET Core Console 项目使用依赖注入的详细例子
分享一个 .NET Core Console 项目使用依赖注入的详细例子
267 0
|
监控 Devops 持续交付
构建高效可靠的云基础设施:DevOps和SRE的最佳实践
【5月更文挑战第30天】在数字化转型的浪潮中,企业对云基础设施的依赖日益增加。本文探讨了如何通过结合DevOps和Site Reliability Engineering(SRE)的最佳实践来构建一个高效、可靠且灵活的云环境。文章首先概述了DevOps和SRE的核心原则,接着提出了一系列策略来优化云资源的管理、自动化流程、以及提高系统的弹性。最后,文中将分享一些成功的案例分析,以帮助读者理解这些原则在实际场景中的应用。
|
Cloud Native 关系型数据库 分布式数据库
数据库性能诊断工具DBdoctor通过阿里云PolarDB产品生态集成认证
DBdoctor(V3.1.0)成功通过阿里云PolarDB分布式版(V2.3)集成认证,展现优秀兼容性和稳定性。此工具是聚好看科技的内核级数据库性能诊断产品,运用eBPF技术诊断SQL执行,提供智能巡检、根因分析和优化建议。最新版V3.1.1增加了对PolarDB-X和OceanBase的支持,以及基于cost的索引诊断功能。PolarDB-X是阿里巴巴的高性能云原生分布式数据库,兼容MySQL生态。用户可通过提供的下载地址、在线试用链接和部署指南体验DBdoctor。
702 0
|
Rust Linux 开发工具
Rust安装
该文介绍了如何在Linux、mac和Windows上安装Rust编程语言。在Linux和mac系统中,可以通过运行一个curl命令自动下载并安装;在Windows上,需从官方网站下载安装包。安装完成后,使用`rustc --version`检查Rust版本以确认安装成功。此外,还提到了如何更新Rust(使用`rustup update`)和卸载(使用`rustup self uninstall`)以及查看官方文档(运行`rustup doc`)。推荐的开发工具有Visual Studio Code和JetBrains CLion,需要安装Rust插件。
|
canal SQL 消息中间件
阿里Canal框架(数据同步中间件)初步实践
阿里Canal框架(数据同步中间件)初步实践
1205 84
阿里Canal框架(数据同步中间件)初步实践