`

针对大数据量表的优化查询

 
阅读更多

 


1:索引,我们最先想到的就是创建索引,创建索引可以成倍的提升查询的效率,节省时间。但是如果数据量太过于巨大的时候,这个时候单纯的创建索引是无济于事的,我们知道假如特别是在大数据量中统计查询,就拿1000W数据来说吧,如果使用count函数的话,最少要50-100秒以上,当然如果你的服务器配置够高,处理够快,或许会少很多但是一样会超过10秒。 
单纯的建立索引是无济于事的。我们可以在创建索引的时候给索引加个属性,compress,这个属性可以将所创建的索引进行一个良好的归类,这样的话,查询速度会提升5-10,或者更高。但是唯一的缺点是,压缩索引只能手动创建,对于那些KEY是无法进行压缩的,因为KEY(主键)是自动创建的索引,compress必选的属性,一般默认是不创建。所以在创建压缩索引的时候,可以找其他的关键字段进行压缩,比如工单表里面的流水号 
2:尽量少的使用那些函数,比如 IS NUll;IS NOT NULL,IN;NOT IN等这样的匹配函数,可以使用符号程序进行操作 
3:尽量少使用子查询,如果你写个类,里面模仿子查询的效果,你就会发现,简直在要命,我们可以使用联合查询,或者是外连接查询,这样速度会比子查询快很多。 
4:在使用索引的时候,注意如下: 
Where子句中有=将使索引失效 
select account_name from test where amount != 0  (不使用
select account_name from test where amount > 0  (使用

Where条件中对字段增加处理函数将不使用该列的索引 
select * from emp where to_char(hire_date,'yyyymmdd')='20080411' (不使用
select * from emp where hire_date = to_char('20080411','yyyymmdd') (使用

避免在索引列上使用IS NULL和 IS NOT NULL 
select * from emp where dept_code is not null  (不使用
select * from emp where dept_code > 0  (使用

通配符的使用 
select * from emp where name like '%A'  (不使用索引
select * from emp where name like 'A%'  (使用索引) 

分享到:
评论

相关推荐

    ORACLE中对大数据量表的处理方法

    针对大数据量表的处理,可以采取两种基本策略:分区处理和分表处理。 ##### 1. 分表处理 分表处理即将大数据量表拆分为工作表和历史表两部分。其中,工作表用于存放本年度的数据,而历史表则用于存放历史数据。每年...

    ORACLE中对大数据量表的处理方法 (1).pdf

    针对大数据量表的处理策略主要包括两种方法:分区处理和分表处理。 1. **分表处理**:此方法将大数据量表分为工作表和历史表。工作表用于存储当前年度的数据,而历史表则存放过去的数据。每年进行年度转结后,将...

    DB2删除大数据量表方法.pdf

    总的来说,DB2在处理大数据量表删除时需要考虑效率和日志的影响,选择合适的方法可以显著提升操作速度,但同时也需要权衡数据安全性和恢复能力。在实际操作中,应当结合业务需求和系统环境,做出最佳决策。

    MSSQLServer中大数据量表的查询优化

    针对SQL Server 2000,可以通过定义分区视图来支持大数据量表的水平拆分及查询时的数据合并,同时利用查询引擎提供的优化机制,显著提高在大数据量条件下的查询性能。 #### 问题提出 数据库管理系统(DBMS)是数据...

    MS SQL Server中大数据量表的查询优化

    针对上述问题,可以通过以下几种方式来实现大数据量表的查询优化: 1. **水平分区**: 将一个大数据表分割成多个结构相同但数据行较少的小表,这样查询时只需要扫描包含查询结果数据行的一个或几个小表,而不是整个...

    Oracle 大数据量操作性能优化

    分区是 Oracle 中的一种优化技术,可以将大型表分割成多个小表,提高查询速度和数据处理效率。Oracle 建议,当表大小超过 2G 或者表有历史数据和当前数据之分时,考虑使用分区。 分区的种类有多种,包括范围分区、...

    oracle数据库优化报告.docx

    使用分区技术对大数据量表进行分割,提升查询效率;考虑使用物化视图预计算常用查询结果,减轻数据库实时计算压力。 2.3、SQL优化 SQL优化是数据库优化的关键环节,主要针对执行效率低下的SQL语句进行调整: 2.3.1...

    SqlServer性能优化方面的总结归纳和实战

    此外,表的分区也是提高大数据量表查询性能的有效手段。 5. **资源管理**:包括内存管理、CPU调度和磁盘I/O优化。例如,合理设置SQL Server的内存分配,可以有效利用硬件资源;优化IO系统,如使用SSD,可以显著提升...

    redis集群, tomcat优化以及 MySQL5.6优化

    5. 分区表:对于大数据量表,使用分区表可以提高查询速度和维护性。 6. JOIN 优化:避免笛卡尔积,合理使用 INNER JOIN 和 OUTER JOIN,减少临时表的使用。 7. 表设计优化:采用正常化设计,减少冗余数据;考虑数据...

    oracle优化篇及常用函数

    表分区是针对大数据量表的一种优化手段,它允许数据按特定规则分布,从而加快查询速度并简化管理。 架构优化则关注数据库设计,包括合理设计表结构、选择合适的数据类型、减少冗余数据等。例如,使用外键和约束来...

    MySQL性能分析与优化调整

    2. **EXPLAIN分析**:通过在SQL语句前添加`EXPLAIN`关键字,可以查看查询执行计划,分析表扫描方式、索引使用情况等,帮助优化查询结构。 3. **性能_schema**:MySQL 5.5及以上版本引入了性能_schema模块,用于收集...

    大数据技术下静脉血栓风险智能预警系统设计与建设.pdf

    Caprini量表主要针对外科患者,而Padua量表适用于内科患者,两者都是评估VTE风险的重要工具。通过大数据技术,系统能够实时智能提取评分指标,实现评分量表的自动评估、自动推送和提前预警,从而提高VTE的评估效率。...

    oracle语句性能优化集合

    - **表分区**:对大数据量表进行分区,可以并行处理,提高查询性能。 - **表空间管理**:合理分配表空间,避免空间不足导致的性能下降。 - **物化视图**:对于固定查询模式,可以创建物化视图预计算结果,加快...

    0racle优化

    这包括合理选择数据类型,减少冗余数据,使用分区来改善大数据量表的性能,以及使用物化视图来预先计算和存储结果。 4. 存储优化:磁盘I/O是数据库性能的瓶颈之一。通过调整表空间的大小、使用合适的数据块大小、...

    大数据环境下的内核用户态交互瓶颈分析与优化.pptx

    综上所述,针对大数据环境下内核用户态交互的瓶颈问题,通过深入分析其成因,并结合当前先进的虚拟化技术和中断处理机制改进方案,可以有效缓解这些问题,提高系统的整体性能和稳定性。这些技术的应用不仅有助于优化...

    让Oracle跑得更快.Oracle.10g性能分析与优化思路

    此外,分区技术也是提升大数据量表查询效率的重要手段。 2. **SQL优化**:SQL查询的性能直接影响数据库的运行速度。优化SQL语句通常包括编写高效的查询语句,避免全表扫描,利用索引,减少嵌套查询,以及使用连接...

    sql优化(未完).txt

    1. **避免全表扫描**:全表扫描会显著增加查询时间,尤其是在大数据量表中。尽量通过索引覆盖查询来避免此类操作。 2. **选择合适的索引策略**: - 使用复合索引时注意字段顺序的选择。 - 避免使用如“IS NULL”、...

    大数据背景下电子商务企业预算评估分析.pdf

    3. 设计电子商务企业预算评估量表:量表的设计需要紧密结合大数据的特性,不仅涉及财务数据,还包括非财务数据,以增强预算评估的全面性和准确性。量表应当能动态地反映预算编制、执行、分析与调整、考核等环节的...

    MySQLserver_v1.2.1.125

    8. **分区与索引**:通过分区可以优化大数据量表的查询性能,而索引则加快了数据查找的速度。 9. **查询优化器**:MySQL的查询优化器能够智能地选择执行计划,以达到最佳性能。 10. **多语言支持**:包括对中文的...

    sql server小小笔记

    - 分区表:通过分区提高大数据量表的查询效率。 - 分布式查询:使用分布式分区视图或链接服务器进行跨数据库查询。 8. **高可用性与灾难恢复**: - Always On可用性组:创建和管理可用性组,实现高可用性和故障...

Global site tag (gtag.js) - Google Analytics