0 0

oracle查询字符串的速度怎样比较快10

oracle查询字符串的速度怎样比较快

一个表中有二十几万的记录,有一个字段abc是字符串,是生成一个ID类似的,但不是唯一的,id 字段是数字

现在用 where id = 12345 查询,时间一般是在20ms以内
用where abc = 'f7eeff20-6612-46dc-9a57-f5cadd8b1d31' 查询,时间在700-800ms左右
用where shuzi=789 查询其它数字的字段也在100ms之内

以上是在PL/SQL中使用sql查询显示的反应时间

就一个where abc = 'xx-mm' 这样的查询,这么长的时间应该是比较长了吧,怎样还可以提高查询速度呢?

以前这个功能是用Lucene实现的,在索引中查询,但跑一段时间后会越来越慢。这里又没有源码,考虑改成直接查数据库实现。我觉得这种直接相等的查询oracle没有理由比Lucene查询更慢

这个abc标志是以前程序生成的,如果要改成数字的话工程会比较麻烦。但现在也想不到什么好的方法实现能改善性能

再者,几十万数据的表,以上查询的时间在oracle看来是比较正常的查询速度吗?

问题补充:现在就是select * from table where abc = 'f7eeff20-6612-46dc-9a57-f5cadd8b1d31'
看执行计划有用吗?
目前还不会看那东西,以后补补

问题补充:
dmewy 写道
主键是id吧?
主键默认自建index的.
所以快..
根据你查询的栏位建立index...
abc..

是的,主键是ID

问题补充:如果仅仅是把字段改成数字类型的,对速度有没有提高呢?

问题补充:
anranran 写道
他好像听不得答案

你加个好像干嘛
2010年1月30日 13:47

4个答案 按时间排序 按投票排序

0 0

采纳的答案

主键是id吧?
主键默认自建index的.
所以快..
根据你查询的栏位建立index...
abc..

2010年2月02日 17:53
0 0

他好像听不得答案

2010年2月04日 17:27
0 0

主键是什么?
根据查询需求建立index..

2010年2月02日 17:52
0 0

查看执行计划.
在abc 建索引

2010年1月30日 19:53

相关推荐

    oracle遍历数据库查找字符串

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

    ArcSDE直连方法(直连字符串)

    在探讨“ArcSDE直连方法(直连字符串)”这一主题时,我们首先需要理解ArcSDE的基本概念以及直连技术的应用场景。ArcSDE是Esri开发的一款空间数据库引擎,它允许地理信息系统(GIS)软件直接访问并管理存储在关系型...

    提高Oracle数据库查询效率

    1. **字符串拼接操作**: 使用`||`进行字符串拼接会消耗较多的资源,特别是在处理大量数据时。 2. **全表扫描**: 使用`SELECT *`会导致数据库执行全表扫描,这意味着需要读取表中的每一行数据,即使只需要部分列的...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    varchar2 1~4000字节 可变长度字符串,与CHAR类型相比,使用VARCHAR2可以节省磁盘空间,但查询效率没有char类型高 数值类型 Number(m,n) m(1~38) n(-84~127) 可以存储正数、负数、零、定点数和精度为38位的浮点数...

    Oracle 函数大全[字符串函数,数学函数,日期函数]

    ### Oracle 函数大全:字符串函数、数学函数与日期函数详解 #### 一、字符串函数 在Oracle数据库中,字符串函数是一类非常实用的功能,用于处理和操作文本数据。以下是一些常用的字符串函数及其具体用途: ##### ...

    Oracle查询性能优化

    **原则四:** 使用通配符(如`LIKE '%...%'`)进行模糊匹配时,ORACLE可能无法使用索引来加速查询过程,尤其是在通配符出现在字符串的开头时。这种情况下,建议尽可能避免使用通配符,或者仅在字符串的末尾使用...

    oracle查询优化

    为了提高系统的性能与响应速度,进行有效的Oracle查询优化至关重要。本文将从多个方面深入探讨Oracle查询优化的方法与技巧。 #### 一、理解查询优化的重要性 在业务系统中,SQL查询对性能的影响极为关键。一个不...

    ORACLE-分区表的用法

    - **提高查询性能**:对于大型表,通过分区可以将查询限制在特定的分区上,而不是全表扫描,从而大大提高了查询速度。 - **简化管理任务**:分区使得维护大型表变得更加简单,例如可以单独备份或恢复特定的分区。 - ...

    Oracle中的正则表达式

    * 提高搜索速度:使用正则表达式可以快速地搜索字符串,提高搜索速度和准确性。 * 提高数据安全:使用正则表达式可以对输入数据进行验证和过滤,提高数据安全性。 Oracle中的正则表达式是强大的字符串模式匹配语言...

    String.intern – 字符串池

    1. **性能提升**:Java 8进一步优化了字符串池的实现,提高了字符串查找的速度和效率。这主要是通过对字符串池内部结构的改进实现的。 2. **并发安全性**:随着多线程应用的普及,Java 8增强了字符串池的并发安全性...

    优化Oracle数据库查询10个方法

    例如,将员工的职位、姓名和出生日期组合成一个描述性的字符串,如“经理 Victor 出生于 1976 年 5 月 3 日”。这样的处理方式不仅可以简化报表的展示,还能增强数据的可读性和直观性。尤其在图书管理系统中,将出版...

    Oracle查询操作的学习笔记

    - **字符串类型**:Oracle支持多种字符串类型,如`CHAR`, `VARCHAR2`等。其中`CHAR`是固定长度的字符类型,而`VARCHAR2`则是变长的字符类型。`CLOB`用于存储大量的文本数据,最大可达4GB。 - **数值类型**:`NUMBER`...

    oracle 资源整合大全,oracle对照,oracle数据库,oracle 讲解

    "oracle函数大全"可能包含了如数学函数、字符串函数、日期时间函数、转换函数等。例如,数学函数如ROUND用于四舍五入,TRUNC用于截断小数部分;字符串函数如SUBSTR用于提取子字符串,INSTR用于查找子串位置;日期...

    Oracle10G函数大全(chm格式的,比较全面)

    - `UPPER()` 和 `LOWER()`: 将字符串转换为大写或小写。 - `REPLACE()`: 在字符串中替换指定的子串。 - `INSTR()`: 查找子串在字符串中的位置。 4. **聚合函数**: - `COUNT()`: 计算一组值的数量。 - `SUM()`...

    Oracle19c-Windows客户端

    7. **Easy Connect命名方法**: Oracle 19c支持Easy Connect命名方法,允许用户通过简单的字符串格式(如`username/password@//hostname:port/service_name`)来连接数据库,无需tnsnames.ora文件。 8. **安全增强**...

    处理百万级以上的数据提高查询速度的方法

    ### 处理百万级以上的数据提高查询速度的方法 在处理大量数据时,如何优化SQL查询以提高查询效率是一项至关重要的技能。以下是从标题、描述、标签以及部分内容中提炼出的关键知识点,这些技巧可以帮助你在面对海量...

    Oracle基础教程

    * 字符类型(Char):用于存储字符串数据。 * 日期时间类型(Date):用于存储日期和时间数据。 * 大对象类型(LOB):用于存储大型数据,例如图片、音频和视频。 Oracle 数据库优化 Oracle 数据库优化是指对 ...

    oracle_lhr_行列互换总结

    根据提供的文件信息,我们将详细讨论Oracle中实现行列互换的六种情况,分别为:列转行、行转列、多列转换成字符串、多行转换成字符串、字符串转换成多列、字符串转换成多行。 1. 列转行 列转行是指将表中的列转换为...

    Oracle Providers for ASP.NET

    - **连接字符串**: 配置Oracle连接字符串的基本要素,例如服务器地址、端口、数据库实例和服务名。 - **连接池**: 使用连接池可以显著提高应用程序的性能。书中详细讲解了连接池的工作原理及其配置方法。 **3. 命令...

Global site tag (gtag.js) - Google Analytics