`
beyondqinghua
  • 浏览: 42411 次
  • 性别: Icon_minigender_1
  • 来自: 南昌
社区版块
存档分类
最新评论

数据库性能优化,关于oracle字符串比较优化的改进方案,大家拍砖

阅读更多

  因为公司的单个业务数据达到千W级别,并且有源源不断的新数据进来。新数据进来都需要进行查重,重复数据不能进来,查重条件有很多字符串的对比,最大的字符串不超过1000个字符,但是字符串的比较,对于数据库来说,非常的耗性能,如果能将String转成数字来进行比较对于性能的提高将非常有用。

    后来想到String有一个hashcode,看看能否使用:

 

    <SPAN style="FONT-SIZE: small">/**
     * Returns a hash code for this string. The hash code for a
     * <code>String</code> object is computed as
     * <blockquote><pre>
     * s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]
     * </pre></blockquote>
     * using <code>int</code> arithmetic, where <code>s[i]</code> is the
     * <i>i</i>th character of the string, <code>n</code> is the length of
     * the string, and <code>^</code> indicates exponentiation.
     * (The hash value of the empty string is zero.)
     *
     * @return  a hash code value for this object.
     */
    public int hashCode() {
	int h = hash;
        int len = count;
	if (h == 0 && len > 0) {
	    int off = offset;
	    char val[] = value;

            for (int i = 0; i < len; i++) {
                h = 31*h + val[off++];
            }
            hash = h;
        }
        return h;
    }</SPAN>

 

     但是遗憾的是int的范围非常窄(-2147483648——2147483647),出现重复的概率虽然说比较低,但是不可避免会出现重复的可能性。

      于是想到,是否可以自己重新写过hashcode方法,将int的范围扩大到long类型(-9223372036854774808~9223372036854774807),这样在目前长度的字符生成的hashcode出现重复的可能性应该几乎为零。

      大家对于这个设想是否有什么更好的意见?

分享到:
评论

相关推荐

    oracle数据库性能优化.pdf

    Oracle数据库性能优化是确保系统高效运行的关键环节,尤其是在大数据量和高并发的环境中。Oracle数据库因其先进、完整和集成的特性,在市场中占据主导地位,因此深入理解和掌握Oracle的优化技术至关重要。 首先,...

    C#连接Oracle数据库字符串

    C#连接Oracle数据库字符串 C#连接Oracle数据库字符串

    ORACLE19c数据库性能优化说明.docx

    Oracle 19c数据库性能优化是一项关键任务,旨在确保数据库高效稳定运行,减少资源消耗,尤其是I/O资源的访问频率和存储空间。本文主要探讨了SQL调优和索引管理两个核心方面。 首先,Oracle数据库的优化器是性能优化...

    oracle遍历数据库查找字符串

    标题"Oracle遍历数据库查找字符串"暗示了一个实用的解决方案,它允许用户快速搜索Oracle数据库中的特定文本字符串,无需手动编写复杂的SQL查询。这通常在数据审计、故障排查或日志分析等场景中非常有用。 描述中...

    Oracle数据库性能优化方案的研究

    ### Oracle数据库性能优化方案的研究 #### 一、引言 Oracle数据库系统,作为全球领先的数据库解决方案,由美国甲骨文公司提供,以其分布式数据库为核心,广泛应用于电信、金融、证券等关键领域。随着网络应用与...

    Oracle数据库性能优化.pdf

    Oracle数据库性能优化是确保数据库高效运行的关键环节,尤其是在处理大量数据和高并发访问的环境中。Oracle作为业界领先的数据库管理系统,其性能优化策略涵盖多个层面,包括系统配置、数据库设计、SQL语句优化、...

    Oracle数据库性能优化 盖国强著

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,其性能优化是DBA(数据库管理员)和系统管理员关注的重要领域。盖国强先生的《Oracle数据库性能优化》一书深入浅出地探讨了这个主题,旨在帮助读者理解...

    oracle数据库性能优化 合集 中文

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其性能优化是一项关键任务,直接影响到系统的响应速度、资源利用率和整体稳定性。本合集包含了11个文档,全面涵盖了Oracle数据库性能优化的各种方面,旨在...

    Oracle数据库性能优化实践指南

    《Oracle数据库性能优化实践指南》是一本专注于提升Oracle数据库运行效率的专业资料,旨在帮助数据库管理员和IT专业人士解决在日常工作中遇到的各种性能问题。通过深入理解Oracle数据库的工作原理和调优技术,读者...

    Oracle数据库性能优化PDF

    资源名称:Oracle数据库性能优化 PDF内容简介:本书面向实际应用,从多个角度出发,对Oracle优化中的很多关键问题进行了深入全面的探讨,涵盖了Oracle优化的各个技术层面,从内存优化、IO规划及优化,到SQL优化调整...

    ORACLE SQL性能优化系列

    ORACLE SQL性能优化是数据库管理员和开发者非常关心的一个话题。为了提高数据库的性能,ORACLE 提供了多种优化技术。下面我们将详细介绍 ORACLE SQL 性能优化系列中的一些重要知识点。 一、访问表的方式 ORACLE ...

    《Oracle数据库性能优化实践指南》PDF

    《Oracle数据库性能优化实践指南》是一本专注于Oracle数据库性能调优的专业书籍,旨在帮助读者深入理解和掌握如何在实际环境中提升Oracle数据库的运行效率。Oracle数据库是全球广泛使用的大型企业级数据库管理系统,...

    Oracle 数据库性能优化与运维最佳实践

    "Oracle数据库性能优化与运维最佳实践"的主题涵盖了如何确保Oracle数据库高效、稳定运行的关键技术和策略。 首先,性能优化涉及多个层面,包括SQL查询优化、存储结构优化、索引设计以及数据库参数调整。SQL查询优化...

    Oracle 数据库连接字符串大全教程

    Oracle 数据库连接字符串大全教程旨在提供了完整的 Oracle 连接字符串大全,涵盖了异地或服务器数据库连接、ODBC 连接、OLE DB 连接、Oracle.DataAccess.Client.OracleConnection 连接等多种连接方式。 一、 Oracle...

    Oracle数据库性能优化的艺术 资深专家文平新作)

    《Oracle数据库性能优化的艺术》是资深专家文平的力作,该书全面深入地探讨了如何在Oracle数据库环境中实现性能的最优化。Oracle数据库作为业界广泛使用的大型关系型数据库管理系统,其性能优化对于企业的业务运行至...

    Oracle_DBA手记3-数据库性能优化与内部原理解析

    为了提升个人技能,对于一名合格的Oracle DBA来说,深入理解数据库性能优化及内部原理是必不可少的。 本手记将围绕以下几个关键知识点进行详细解析: 1. SQL语句优化 在Oracle数据库中,SQL语句的执行效率直接影响...

    ORACLE数据库设计与优化

    本主题主要探讨Oracle数据库的设计原则和优化策略,以提升系统的性能和效率。 一、数据库设计基础 1. 规范化理论:在设计Oracle数据库时,遵循第一范式(1NF)、第二范式(2NF)和第三范式(3NF),以及更高层次的...

Global site tag (gtag.js) - Google Analytics