小编And*_*ndy的帖子

BLOB 存储在专用表中

我有一个数据库,其中有几个 BLOB 列分散在多个表中。因为我是一名开发人员并且正在考虑使应用程序代码编写更容易,所以我想将这些列转换为 NUMBER FK 列,这些列只引用一个专用于 BLOB 的表(即一个 PK ID 列和一个 BLOB 列)。这将允许我们的 ORM 库使用更少的代码更轻松地对对象进行延迟初始化。

这样做对性能或数据组织有何影响?由于这些 BLOB,数据库的大小非常大。

oracle oracle-11g-r2 blob

5
推荐指数
1
解决办法
1429
查看次数

每个子集的 MAX

我有一张看起来像这样的表:

+---------------------------------------------+
| EVENT_ID | ITEM_ID | PERSON_ID | EVENT_DATE |
+---------------------------------------------+
| 123      | 1       | 2         | 21-AUG-03  |
| 124      | 1       | 3         | 22-AUG-03  |
| 125      | 1       | 45        | 23-AUG-03  |
| 126      | 1       | (null)    | 24-AUG-03  |
| 127      | 2       | 2         | 25-AUG-03  |
| 128      | 2       | 6         | 26-AUG-03  |
| 129      | 2       | 1         | 27-AUG-03  |
+---------------------------------------------+
Run Code Online (Sandbox Code Playgroud)

因此,我需要获取每个 item_id 的最新 (MAX(event_date)) …

oracle aggregate

4
推荐指数
2
解决办法
3715
查看次数

FBI on 连接字符串的函数

我有一个我很好奇的索引(从很久以前开始)。它在一个基本的人表上,功能是

upper("LAST_NAME"||','||"FIRST_NAME"||"MIDDLE_NAME"||"SUFFIX_NAME")
Run Code Online (Sandbox Code Playgroud)

在尝试搜索此索引时,我最终进行了全表扫描。知道为什么吗?如果这就像我想的那样完全被破坏了,你会建议在这四列上建立一个列索引吗?

编辑

很抱歉没有提供查询。是的,查询很像,并且列都可以为空。所以我有

select *
  from person p
  where UPPER("LAST_NAME"||','||"FIRST_NAME"||"MIDDLE_NAME"||"SUFFIX_NAME")
    like replace(upper('<search string here>'), '*', '%') || '%'
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?感谢您及时回复。

index oracle

0
推荐指数
1
解决办法
1235
查看次数

标签 统计

oracle ×3

aggregate ×1

blob ×1

index ×1

oracle-11g-r2 ×1