我想找到 oracle 10g 中表上的索引消耗的实际空间。我不打算包括 oracle 保留的空间以供将来使用。(不应该考虑oracle 的开销。)我想要使用的字节而不是分配的字节。
你能帮我继续前进吗?
另外,有没有办法找到表中长字段的实际大小。
PS:vsize() 和 dbms_lob.getlength() 不起作用。
我正在阅读这个 use-the-index-luke.com,它详细解释了索引的工作原理。此人重申的一件事是索引的顺序很重要,并且为了使查询快速,where 子句列应该与索引中的列相同。今天,我只是证实了这个理论并在 SQL Server 2008 上创建了一个表(id int ,name nvarchar(100) )。我在其中插入了一些 5000 行并创建了一个索引
create index abc on test (name, id )
并触发了查询
select ID, name
from test
where ID = 10
and name = '10'
Run Code Online (Sandbox Code Playgroud)
我期待全表扫描后跟查询计划中的选择,但令我惊讶的是计划的输出是选择后的索引扫描。
所以,我的问题是 Where 子句中的列顺序重要还是 SQL Server 根据索引定义重新排列它们?
谢谢 !!
我编写了一个 PL/SQL 脚本来查找表中长列的大小。只是为了使脚本通用,我将表名和列名作为变量传递,但我收到一条错误消息,说表或视图不存在。详细信息是:
ORA-06550: line 8, column 34:
PL/SQL: ORA-00942: table or view does not exist
ORA-06550: line 8, column 11:
PL/SQL: SQL Statement ignored
ORA-06550: line 9, column 42:
PLS-00364: loop index variable 'J' use is invalid
ORA-06550: line 9, column 3:
PL/SQL: Statement ignored
Run Code Online (Sandbox Code Playgroud)
脚本是:
declare
a number := 0;
x number := 0;
i number := 0;
tablename varchar2(100):= 'FILES';
columnname varchar2(100):= 'FILESIZE';
begin
for j in (select columnname from tablename) loop
a:=UTL_RAW.LENGTH (UTL_RAW.CAST_TO_RAW(j.columnname));
i := i+1; …
Run Code Online (Sandbox Code Playgroud) 我的一位朋友在面试时被问到这个问题。给定两个不同的数据库,一个只执行写入,另一个只执行读取。给定指定的时间延迟,如何保持两者之间的同步。我想补充一点,这些数据库具有相同的架构。
例如:R 是我的读取数据库,W 是我的写入数据库。我想确保读数据库应该是写数据库的副本,说一分钟前。
我在这里热衷的是完成的技术(概念)而不是实现。假设 RDBMS 是 SQL Server。
我有一个表结构如下:
CREATE TABLE `sale_product_inventories` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`sale_id` int(11) NOT NULL,
`product_id` int(11) NOT NULL,
`size` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
`tier_number` int(11) NOT NULL DEFAULT '1',
`sale_product_pool_id` int(11) DEFAULT NULL,
`inventory` int(11) NOT NULL,
`in_cart_units` int(11) DEFAULT '0',
`size_display_order` tinyint(4) NOT NULL DEFAULT '0',
`last_updated_by` int(11) DEFAULT '0',
`created_by` int(11) DEFAULT '0',
`status` enum('active','inactive') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'active',
`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQUE` (`sale_id`,`product_id`,`tier_number`,`size`,`sale_product_pool_id`)
) …
Run Code Online (Sandbox Code Playgroud)