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 写道
他好像听不得答案
你加个好像干嘛
相关推荐
标题"Oracle遍历数据库查找字符串"暗示了一个实用的解决方案,它允许用户快速搜索Oracle数据库中的特定文本字符串,无需手动编写复杂的SQL查询。这通常在数据审计、故障排查或日志分析等场景中非常有用。 描述中...
在探讨“ArcSDE直连方法(直连字符串)”这一主题时,我们首先需要理解ArcSDE的基本概念以及直连技术的应用场景。ArcSDE是Esri开发的一款空间数据库引擎,它允许地理信息系统(GIS)软件直接访问并管理存储在关系型...
1. **字符串拼接操作**: 使用`||`进行字符串拼接会消耗较多的资源,特别是在处理大量数据时。 2. **全表扫描**: 使用`SELECT *`会导致数据库执行全表扫描,这意味着需要读取表中的每一行数据,即使只需要部分列的...
varchar2 1~4000字节 可变长度字符串,与CHAR类型相比,使用VARCHAR2可以节省磁盘空间,但查询效率没有char类型高 数值类型 Number(m,n) m(1~38) n(-84~127) 可以存储正数、负数、零、定点数和精度为38位的浮点数...
### Oracle 函数大全:字符串函数、数学函数与日期函数详解 #### 一、字符串函数 在Oracle数据库中,字符串函数是一类非常实用的功能,用于处理和操作文本数据。以下是一些常用的字符串函数及其具体用途: ##### ...
**原则四:** 使用通配符(如`LIKE '%...%'`)进行模糊匹配时,ORACLE可能无法使用索引来加速查询过程,尤其是在通配符出现在字符串的开头时。这种情况下,建议尽可能避免使用通配符,或者仅在字符串的末尾使用...
为了提高系统的性能与响应速度,进行有效的Oracle查询优化至关重要。本文将从多个方面深入探讨Oracle查询优化的方法与技巧。 #### 一、理解查询优化的重要性 在业务系统中,SQL查询对性能的影响极为关键。一个不...
- **提高查询性能**:对于大型表,通过分区可以将查询限制在特定的分区上,而不是全表扫描,从而大大提高了查询速度。 - **简化管理任务**:分区使得维护大型表变得更加简单,例如可以单独备份或恢复特定的分区。 - ...
* 提高搜索速度:使用正则表达式可以快速地搜索字符串,提高搜索速度和准确性。 * 提高数据安全:使用正则表达式可以对输入数据进行验证和过滤,提高数据安全性。 Oracle中的正则表达式是强大的字符串模式匹配语言...
1. **性能提升**:Java 8进一步优化了字符串池的实现,提高了字符串查找的速度和效率。这主要是通过对字符串池内部结构的改进实现的。 2. **并发安全性**:随着多线程应用的普及,Java 8增强了字符串池的并发安全性...
例如,将员工的职位、姓名和出生日期组合成一个描述性的字符串,如“经理 Victor 出生于 1976 年 5 月 3 日”。这样的处理方式不仅可以简化报表的展示,还能增强数据的可读性和直观性。尤其在图书管理系统中,将出版...
- **字符串类型**:Oracle支持多种字符串类型,如`CHAR`, `VARCHAR2`等。其中`CHAR`是固定长度的字符类型,而`VARCHAR2`则是变长的字符类型。`CLOB`用于存储大量的文本数据,最大可达4GB。 - **数值类型**:`NUMBER`...
"oracle函数大全"可能包含了如数学函数、字符串函数、日期时间函数、转换函数等。例如,数学函数如ROUND用于四舍五入,TRUNC用于截断小数部分;字符串函数如SUBSTR用于提取子字符串,INSTR用于查找子串位置;日期...
- `UPPER()` 和 `LOWER()`: 将字符串转换为大写或小写。 - `REPLACE()`: 在字符串中替换指定的子串。 - `INSTR()`: 查找子串在字符串中的位置。 4. **聚合函数**: - `COUNT()`: 计算一组值的数量。 - `SUM()`...
7. **Easy Connect命名方法**: Oracle 19c支持Easy Connect命名方法,允许用户通过简单的字符串格式(如`username/password@//hostname:port/service_name`)来连接数据库,无需tnsnames.ora文件。 8. **安全增强**...
### 处理百万级以上的数据提高查询速度的方法 在处理大量数据时,如何优化SQL查询以提高查询效率是一项至关重要的技能。以下是从标题、描述、标签以及部分内容中提炼出的关键知识点,这些技巧可以帮助你在面对海量...
* 字符类型(Char):用于存储字符串数据。 * 日期时间类型(Date):用于存储日期和时间数据。 * 大对象类型(LOB):用于存储大型数据,例如图片、音频和视频。 Oracle 数据库优化 Oracle 数据库优化是指对 ...
根据提供的文件信息,我们将详细讨论Oracle中实现行列互换的六种情况,分别为:列转行、行转列、多列转换成字符串、多行转换成字符串、字符串转换成多列、字符串转换成多行。 1. 列转行 列转行是指将表中的列转换为...
- **连接字符串**: 配置Oracle连接字符串的基本要素,例如服务器地址、端口、数据库实例和服务名。 - **连接池**: 使用连接池可以显著提高应用程序的性能。书中详细讲解了连接池的工作原理及其配置方法。 **3. 命令...