`
- 浏览:
786352 次
- 性别:
- 来自:
上海
-
1、 避免使用Hibernate框架
用Hibernate一次性进行5万条左右数据的插入,若ID使用sequence方式生成,Hibernate将分5万次从数据库取得5万个 sequence,构造成相应对象后,再分五万次将数据保存到数据库。花了我十分钟时间。主要的时间不是花在插入上,而是花在5万次从数据库取 sequence上,弄得我相当郁闷。虽然后来把ID生成方式改成increase解决了问题,但还是对那十分钟的等待心有余悸。
2、查询时不要使用类似select * from x_table的语句,要尽量使用select id,name from x_table,以避免查询出不需要的数据浪费资源。对于海量数据而言,一个字段所占用的资源和查询时间是相当可观的。
3、当我们在做查询时,常常是前台提交一个查询表单到后台,后台解析这个表单,而后进行查询操作。在我们解析表单时,为了方便起见,常常喜欢将一些不需要查询的条件用永真的条件来代替(如:select count(id) from x_table where name like ‘%’),其实这样的SQL对资源的浪费是相当可怕的。我试过对于同样的近一千万条记录的查询来说,使用select count(id) from x_table 进行表查询需要11秒,而使用select count(id) from x_table where name like ‘%’却花了33秒。
4、在做海量数据查询时,应尽量避免表连接(特别是左、右连接),万不得已要进行表连接时,被连接的另一张表数据量一定不能太大,若连接的另一张表也是数万条的话,那估计可以考虑重新设计库表了,因为那需要等待的时间决不是正常用户所能忍受的。
以前做过一个银行分析系统,数据量是亿级别的。补充几点
1,怎样造Java对象。有句话说得好:尽可能的少造对象。别说千万级,就是上万级都不要考虑造对象了。因为几个请求一并发,喀嚓,系统肯定完蛋。
2,合理摆正系统设计的位置。大量数据操作,和少量数据操作一定是分开的。大量的数据操作,肯定不是ORM框架搞定的。绝对不能ORM,因为1,要少造对象;2,数据库资源合理利用。id分配就是一个好例子。
3,合理利用数据库的分区、索引技术。
4,有的时候可以考虑临时表之类的,尤其是大数据量。
5,有人说非常大的数据量,一定要用存储过程。我存储过程不好,所以还是使用jdbc,哈哈效果非常好,所以除了上面几点注意外,还要注意:
1,控制好内存,让数据流起来,而不是全部读到内存再处理,而是边读取边处理;
2,合理利用内存,有的数据要缓存;
3,偶承认,这里技术含量还是有的,反正不简单。不好言传。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
DB2是IBM开发的一款关系型数据库管理系统,广泛应用于企业级数据...提供的文档"DB2数据库性能优化的几个小技巧.docx"和"DB2使用经验总结.docx"可能会提供更具体的操作步骤和实战经验,建议详细阅读以获取更全面的知识。
### 数据库查询优化的核心知识点 #### 一、查询优化的重要性 数据库查询优化是数据库管理系统(DBMS)中的关键组件,其目标在于选择最有效的查询执行计划,以最小化资源消耗(如CPU时间、I/O操作)并提高响应速度。...
在设计阶段应注意以下几点: - **规范化设计**:遵循数据库逻辑设计的范式,如第一范式(无重复组)、第二范式(非关键字段依赖主键)和第三范式(消除传递依赖)。适当规范化可减少数据冗余,提高性能。 - **...
设置外键时,有几点需要注意,以确保数据库设计的规范性和高效性。以下是对这些关键点的详细阐述: 1. **外键约束定义**: 外键是用来建立两个表之间的关联,通常是主表(父表)的一个或多个字段与从表(子表)的...
本文将详细探讨几个关于优化SQL语句执行效率的重要注意事项,旨在帮助数据库管理员和开发者提升系统性能。 首先,理解索引的作用与创建策略是优化SQL的第一步。索引可以大幅提高数据检索速度,但并不是所有字段都...
文章从数据库性能优化的重要性出发,探讨了SQL Server数据库性能优化的三个方面:数据库索引的有效利用、SQL语句的改善以及SQL Server的分区。这三方面的内容组成了数据库优化的主要部分,并对当前网络技术发展下,...
在性能优化的过程中,有几点建议和原则需要牢记:适度优化,避免过度优化;识别并优化性能瓶颈,事半功倍;基于数据进行优化,不要仅凭主观臆测;性能优化是一个持续的过程,需要不断跟进;并且要深入理解业务需求,...
### 数据库优化查询总结 #### 一、查询执行开销分析 在分布式数据环境中,查询执行的成本主要包括三个方面:I/O代价、CPU代价以及通信代价。虽然在网络带宽达到千兆级别的现代网络环境下,通信成本相对较低,但在...
MySql数据库性能优化 MySql数据库性能优化是指通过调整和优化数据库的各种参数、结构和查询语句,提高...通过了解 MySql 数据库性能优化的相关知识点,可以提高数据库的运行速度和效率,减少资源占用和系统瓶颈。
#### 数据库性能优化关键点 在数据库性能优化领域,遵循几个核心原则至关重要。首先是**优先考虑查询**。在大多数应用程序中,查询操作远比插入或更新操作频繁,因此在数据库设计阶段,应将重点放在优化查询效率上...
在决定在哪一列上创建索引时,应考虑以下几点: - **经常用于搜索的列**:可以提高搜索速度。 - **主键列**:强制唯一性并优化数据排序。 - **用于连接操作的列**:加快连接速度。 - **常用于范围查询的列**:利用...
在使用数据库优化器来提高SQL查询效率时,需要注意以下几点: 1. 选择合适的索引,以提高查询效率。 2. 使用连接优化,减少查询次数。 3. 使用排序优化,减少排序时间。 4. 使用缓存机制,减少数据库访问次数。 5. ...
为了保证SQL语句优化的有效性,以下几点是必须要遵守的原则: - 数据库访问代码要集中维护,以统一进行性能监控和调整。 - 定期测试数据库性能,并根据性能监控数据调整优化策略。 - 保证优化措施的可回滚性,...
在进行数据库性能优化时,我们需要注意以下几点: 1. **索引优化**:合理创建和使用索引可以显著提升查询速度,但过多或不当的索引可能导致写操作变慢。 2. **查询优化**:避免全表扫描,利用索引,减少JOIN操作,...
数据库性能优化是HIS系统开发的关键步骤之一,而不应该仅在最后实现系统时才考虑性能问题。许多使性能得到显著提高的事项可以通过开始时仔细设计来实现。 为达到此目的,需要了解HIS应用程序的需求和数据的逻辑和...
针对数据库尤其是Mysql数据库的慢查询问题,优化通常包括查询优化、索引优化、表结构优化、系统配置优化等多个方面。以下是根据提供的文件内容总结的数据库优化相关知识点。 1. 执行计划的使用 数据库查询优化第一...
为了提高执行效率,应该注意以下几点: - **查询优化**:避免使用子查询,尽可能地转化为联接查询;使用EXPLAIN PLAN工具分析查询计划,找出潜在的问题。 - **条件筛选**:合理使用WHERE子句中的条件筛选,特别是对...
Oracle数据库管理员(DBA)在维护数据库系统的稳定运行和性能方面扮演着至关重要的角色。随着数据量的不断增长和业务需求的日益复杂化,DBA面临越来越多的挑战。为了提升个人技能,对于一名合格的Oracle DBA来说,...
此外,构建高效的SQL语句需要注意以下几点: 1. 在可能的情况下,选择最有效率的表连接顺序。 2. 在WHERE子句中合理安排连接顺序,以减少数据库的检索量。 3. 尽量避免在SELECT子句中使用“*”,而应该具体指定需要...