Indexing on Virtual Columns

本文介绍了如何为数据库表中的虚拟列创建索引,并详细展示了使用B-tree索引及位图索引的过程。通过示例说明了在分区表上创建位图索引的限制条件。
    
     
Virtual columns can be indexed like any other non virtual columns. The index created is always a function based index. If the index is B-tree index, it is recognized as FUNCTION-BASED NORMAL. For bitmap indexes, it is recognized as FUNCTION-BASED BITMAP.

SQL> col DATA_TYPE for a30
SQL> col DATA_DEFAULT for a30
SQL> SELECT column_name, data_type, data_length, data_default, virtual_column
  2  FROM user_tab_cols
  3  WHERE table_name = 'ORDERS_VCOL';

COLUMN_NAME                    DATA_TYPE                                              DATA_LENGTH DATA_DEFAULT                   VIR
------------------------------ ------------------------------ -----------                               ------------------------------ ---
ORDER_ID                       NUMBER                                                       22                                NO
ORDER_DATE                     TIMESTAMP(6) WITH LOCAL TIME ZONE        11                                NO
ORDER_MODE                     VARCHAR2                                 8                                NO
CUSTOMER_ID                    NUMBER                                  22                                NO
ORDER_STATUS                   NUMBER                                  22                                NO
ORDER_TOTAL                    NUMBER                                  22                                NO
SALES_REP_ID                   NUMBER                                  22                                NO
PROMOTION_ID                   NUMBER                                  22                                NO
VCOL_GMT                       TIMESTAMP(6)                            11 SYS_EXTRACT_UTC("ORDER_DATE")  YES

9 rows selected.
SQL>  create index index_vcol  on  orders_vcol(VCOL_GMT);
Index created.
SQL>
SQL> select index_name,index_type,funcidx_status from user_indexes where table_name='ORDERS_VCOL';

INDEX_NAME                     INDEX_TYPE                  FUNCIDX_
------------------------------ --------------------------- --------
ORDERS_VPK                     NORMAL
INDEX_VCOL                     FUNCTION-BASED NORMAL  ENABLED

SQL> SQL>
SQL>
SQL> select * from user_ind_expressions where index_name='INDEX_VCOL';

INDEX_NAME                     TABLE_NAME                COLUMN_EXPRESSION                                                                COLUMN_POSITION
------------------------------ ------------------------- -------------------------------------------------------------------------------- ---------------
INDEX_VCOL                     ORDERS_VCOL               SYS_EXTRACT_UTC("ORDER_DATE")                                                                  1

SQL> drop index INDEX_VCOL;

Index dropped.
SQL>
SQL>
SQL>  create bitmap index INDEX_VCOL on ORDERS_VCOL(VCOL_GMT);
 create bitmap index INDEX_VCOL on ORDERS_VCOL(VCOL_GMT)
                                   *
ERROR at line 1:
ORA-25122: Only LOCAL bitmap indexes are permitted on partitioned tables

SQL>
SQL> SELECT table_name, partition_name, high_value, num_rows
  2  FROM   user_tab_partitions
  3  where  table_name='ORDERS_VCOL'
  4  ORDER BY table_name, partition_name;

TABLE_NAME                PARTITION_NAME       HIGH_VALUE                                 NUM_ROWS
------------------------- -------------------- ---------------------------------------- ----------
ORDERS_VCOL               Q1_2005              TIMESTAMP' 2005-04-01 00:00:00'
ORDERS_VCOL               Q2_2005              TIMESTAMP' 2005-07-01 00:00:00'
ORDERS_VCOL               Q3_2005              TIMESTAMP' 2005-10-01 00:00:00'
ORDERS_VCOL               Q4_2005              TIMESTAMP' 2006-01-01 00:00:00'

SQL>
SQL>
SQL> drop table ORDERS_VCOL;

Table dropped.

SQL> CREATE TABLE orders_vcol
  2      ( order_id           NUMBER(12),
  3        order_date         TIMESTAMP WITH LOCAL TIME ZONE,
  4        order_mode         VARCHAR2(8),
  5        customer_id        NUMBER(6),
  6        order_status       NUMBER(2),
  7        order_total        NUMBER(8,2),
  8        sales_rep_id       NUMBER(6),
  9        promotion_id       NUMBER(6),
 10        vcol_gmt TIMESTAMP AS (SYS_EXTRACT_UTC(order_date))
 11        virtual,
 12        CONSTRAINT orders_vpk PRIMARY KEY(order_id)
 13      );

Table created.

SQL>
SQL>  create bitmap index INDEX_VCOL on ORDERS_VCOL(VCOL_GMT);
Index created.

SQL> select index_name,index_type,funcidx_status from user_indexes where table_name='ORDERS_VCOL';

INDEX_NAME                     INDEX_TYPE                  FUNCIDX_
------------------------------ --------------------------- --------
ORDERS_VPK                     NORMAL
INDEX_VCOL                     FUNCTION-BASED BITMAP       ENABLED

SQL> select * from user_ind_expressions where index_name='INDEX_VCOL';

INDEX_NAME                     TABLE_NAME                COLUMN_EXPRESSION                                                                COLUMN_POSITION
------------------------------ ------------------------- -------------------------------------------------------------------------------- ---------------
INDEX_VCOL                     ORDERS_VCOL               SYS_EXTRACT_UTC("ORDER_DATE")                                                                  1




来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13750068/viewspace-2144144/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/13750068/viewspace-2144144/

--------------------------------------------------------------------------- KeyError Traceback (most recent call last) File ~\anaconda3\Lib\site-packages\pandas\core\indexes\base.py:3791, in Index.get_loc(self, key) 3790 try: -> 3791 return self._engine.get_loc(casted_key) 3792 except KeyError as err: File index.pyx:152, in pandas._libs.index.IndexEngine.get_loc() File index.pyx:181, in pandas._libs.index.IndexEngine.get_loc() File pandas\_libs\hashtable_class_helper.pxi:7080, in pandas._libs.hashtable.PyObjectHashTable.get_item() File pandas\_libs\hashtable_class_helper.pxi:7088, in pandas._libs.hashtable.PyObjectHashTable.get_item() KeyError: 'date' The above exception was the direct cause of the following exception: KeyError Traceback (most recent call last) Cell In[5], line 409 406 print("训练流程完成!") 408 if __name__ == "__main__": --> 409 main() Cell In[5], line 326, in main() 323 positive_samples['label'] = 1 325 # 负样本采样 --> 326 negative_samples = vectorized_negative_sampling( 327 hist_exposure, positive_samples, sample_ratio=0.05 328 ) 330 # 合并数据集 331 click_data = pd.concat([positive_samples, negative_samples], ignore_index=True) Cell In[5], line 130, in vectorized_negative_sampling(exposure, positive_set, sample_ratio) 127 negative_samples['label'] = 0 129 # 添加时间信息(使用最近曝光时间) --> 130 negative_samples['date'] = exposure['date'].max() 132 return negative_samples File ~\anaconda3\Lib\site-packages\pandas\core\frame.py:3893, in DataFrame.__getitem__(self, key) 3891 if self.columns.nlevels > 1: 3892 return self._getitem_multilevel(key) -> 3893 indexer = self.columns.get_loc(key) 3894 if is_integer(indexer): 3895 indexer = [indexer] File ~\anaconda3\Lib\site-packages\pandas\core\indexes\base.py:3798, in Index.get_loc(self, key) 3793 if isinstance(casted_key, slice) or ( 3794 isinstance(casted_key, abc.Iterable) 3795 and any(isinstance(x, slice) for x in casted_key) 3796 ): 3797 raise InvalidIndexError(key) -> 3798 raise KeyError(key) from err 3799 except TypeError: 3800 # If we have a listlike key, _check_indexing_error will raise 3801 # InvalidIndexError. Otherwise we fall through and re-raise 3802 # the TypeError. 3803 self._check_indexing_error(key) KeyError: 'date'
07-13
【CNN-GRU-Attention】基于卷积神经网络和门控循环单元网络结合注意力机制的多变量回归预测研究(Matlab代码实现)内容概要:本文介绍了基于卷积神经网络(CNN)、门控循环单元网络(GRU)与注意力机制(Attention)相结合的多变量回归预测模型研究,重点利用Matlab实现该深度学习模型的构建与仿真。该模型通过CNN提取输入数据的局部特征,利用GRU捕捉时间序列的长期依赖关系,并引入注意力机制增强关键时间步的权重,从而提升多变量时间序列回归预测的精度与鲁棒性。文中涵盖了模型架构设计、训练流程、参数调优及实际案例验证,适用于复杂非线性系统的预测任务。; 适合人群:具备一定机器学习与深度学习基础,熟悉Matlab编程环境,从事科研或工程应用的研究生、科研人员及算法工程师,尤其适合关注时间序列预测、能源预测、智能优化等方向的技术人员。; 使用场景及目标:①应用于风电功率预测、负荷预测、交通流量预测等多变量时间序列回归任务;②帮助读者掌握CNN-GRU-Attention混合模型的设计思路与Matlab实现方法;③为学术研究、毕业论文或项目开发提供可复现的代码参考和技术支持。; 阅读建议:建议读者结合Matlab代码逐模块理解模型实现细节,重点关注数据预处理、网络结构搭建与注意力机制的嵌入方式,并通过调整超参数和更换数据集进行实验验证,以深化对模型性能影响因素的理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值