社区
疑难问题
帖子详情
数据库统计速度慢,请教解决方法
mazhen
2002-11-18 11:13:27
我们做的程序要统计数据库中的一个表的原始数据,分析后把结果保存在另一个表中.
但是数据很多 一般每个表都有 几百万,所以程序统计很慢, 有什么好解决办法吗?
...全文
41
5
打赏
收藏
数据库统计速度慢,请教解决方法
我们做的程序要统计数据库中的一个表的原始数据,分析后把结果保存在另一个表中. 但是数据很多 一般每个表都有 几百万,所以程序统计很慢, 有什么好解决办法吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
CCEO
2002-11-20
打赏
举报
回复
实际上关于冗余列应该是在数据库的概念设计阶段开始考虑的问题,在以后还可以调整。
性能优化可以说是写一本书也说不完的话题,但是可以分概念设计(包括结构、架构等)、物理设计(包括存储设计、索引等)、sql语句优化(包括存储过程的优化)、服务器配置(包括cpu、i/o、网络等)等方面。后期的调整主要集中在索引、sql语句优化、服务器参数的调整等。
dotAge
2002-11-20
打赏
举报
回复
基本同意CCEO的意见,但对于一个几百万条记录的表来讲,冗余列大部分情况下是需要抛弃的,除非该列的数据也是来自于一个相当大的表,也就是楼上CHUMP说的,大表之间慎做连接的意思。
实际上,在性能指标优先的情况下,若这冗余列来自于另一个大表的时候,还要考虑对此表进行分区,减小体积为主业务表提供高速参照服务。
CCEO
2002-11-19
打赏
举报
回复
不同意见:
2,原始数据表结构若能优化,请尽量减小列数和宽度,抛弃任何一个冗余列,在这个问题上要做到斤斤计较,因为宽度每少一个字节,总体积就减少几M!
关于冗余列,一定要综合考虑,一般来说冗余列是为了提高查询速度而加的,加冗余列是一种用空间来换时间的方法。
dotAge(老朽,提醒你及时结贴) 的“抛弃任何一个冗余列”的说法我不同意!
楼主的另一个贴有我的更多回复。
http://expert.csdn.net/Expert/topic/1187/1187730.xml?temp=2.012271E-02
chump
2002-11-19
打赏
举报
回复
补充:
1:大表之间少做连接!
2:优化存储过程的写法!
dotAge
2002-11-18
打赏
举报
回复
1,统计条件涉及的字段做索引
2,原始数据表结构若能优化,请尽量减小列数和宽度,抛弃任何一个冗余列,在这个问题上要做到斤斤计较,因为宽度每少一个字节,总体积就减少几M!
3,尽量用存储过程进行统计计算,能不用游标则不用
4,提高硬件处理能力
优化SQL语句,提高
数据库
的访问性能
一、
数据库
访问
速度慢
的原因很多,常见如下几种 1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2、I/O吞吐量小,形成了瓶颈效应。 3、没有创建计算列导致查询不优化...
数据库
实训报告3000字
数据库
实训报告1 一、实习目的 认识实习是本科教学计划中非常重要的实践性教学环节,其目的是使学生了解和掌握电力生产知识、印证、巩固和丰富已学过的计算机专业课程内容,培养学生理论联系实际,提高其在生产实践...
实时
数据库
简介
实时
数据库
简介 1.前言 一提到
数据库
,大家肯定会想到SQL Server、Oracle等关系型
数据库
。实际上,
数据库
的种类非常多,在计算机发展的历史上,存在着多种类型的
数据库
。 早期,关系型
数据库
与层次型
数据库
、...
数据库
索引 - 索引 - 上
数据库
索引 - 索引 - 上 索引 这一章节, 我想讨论一些有趣的事情. 大表如何加索引 在大表上创建一个索引将花费大量的时间;...
数据库
提供了一种可以并发创建索引的
方法
create index concurrently index_name on t
数据库
2.
数据库
的分类2.1 关系型
数据库
2.1.1 什么是关系型
数据库
2.1.2 常见的关系型
数据库
2.2 非关系型
数据库
2.2.1 什么是非关系型
数据库
2.2.2 常见的非关系型
数据库
3.MySQL介绍3.1 MySQL介绍4.MySQL客户端服务端启动方式...
疑难问题
22,209
社区成员
121,731
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章