精华内容
下载资源
问答
  • 修改索引

    2013-04-28 10:30:22
    1.重命名索引 当对已经创建的索引的名称不满意时,可以通过ALTER TABLE..RENAME TO语句更改索引的名称,使用示例如下所示。  ALTER INDEX idx_emp_empnoname RENAME TO idx_ename_empno; 索引已更改。  ...

    1.重命名索引

    当对已经创建的索引的名称不满意时,可以通过ALTER TABLE..RENAME TO语句更改索引的名称,使用示例如下所示。

    1.  ALTER INDEX idx_emp_empnoname RENAME TO idx_ename_empno;  
    2. 索引已更改。 

    在ALTER INDEX语句的后面,跟上索引的名称(可以使用方案名.索引名称),在RENAME TO语句后面,跟上要进行重命名的最终名称。

    2.合并和重建索引

    表在使用一段时间后,由于频繁地对表进行操作,而每次对表的更新必然伴随着索引的改变,因此,在索引中会产生大量的碎片,从而降低索引的使用效率。可以使用如下两种方式来清理碎片。

    合并索引:合并索引不改变索引的物理组织结构,只是简单地将B树叶子节点中的存储碎片合并在一起。

    重建索引:重新创建一个新的索引,删除原来的索引。

    合并索引使用ALTER INDEX COALESCE语法,例如下面的语法对idx_ename_empno索引进行了合并操作:

    1. ALTER INDEX idx_ename_empno COALESCE;  
    2. 索引已更改。  

    合并只是简单地将B树中的叶子节点中的碎片合在一起,其实并没有改变索引的物理组织结构,例如并不会对叶子节点的存储参数和表空间进行更改,合并执行前与合并执行后的示意图如图5.21所示。
     
    (点击查看大图)图5.21  合并索引示意图

    从图5.21中可以看到,合并前放在两个节点中的碎片被合并到了1个节点,而另一个叶子节点就被释放了。

    重建索引实际上就是对原有的索引的删除,再重新建一个新的索引,因为这个原因,所以在使用ALTER INDEX时,可以使用各种存储参数,比如使用STORAGE指定存储参数,使用TABLE SPACE指定表空间或利用NOLOGGING选项避免产生重做日志信息。

    例如要重建idx_ename_empno索引,可以使用如下的语句:

    > ALTER INDEX idx_ename_empno REBUILD;  

    1. 索引已更改。  

    也可以使用存储语句更改索引所在的表空间,例如如下语句:
    1. ALTER INDEX idx_ename_empno REBUILD TABLESPACE users; 

    上面的语句在重建索引的时候,使用TABLESPACE选项将索引移到了users表空间中。

    合并索引和重建索引都能消除索引碎片,但二者在使用上有明显的区别。

    合并索引不能将索引移动到其他表空间,但重建索引可以;

    合并索引代价较低,无须额外存储空间,但重建索引恰恰相反;

    合并索引只能在B树的同一子树中合并,不改变树的高度,但重建索引重建整个B树,可能会降低树的高度。

    3.分配和释放索引空间

    在插入或者加载数据时,如果表中具有索引,会同时在索引中添加数据,如果索引段空间不足,为了能够向索引段添加数据将导致动态地扩展索引段,从而降低了数据的装载速度。为了避免这个问题,可以在执行装载或大批量插入之前为索引段分配足够的空间,如以下语法所示。

     

    1. SQL> ALTER INDEX idx_ename_empno ALLOCATE EXTENT(SIZE 200K);  
    2. 索引已更改。  

    上述语法首先将idx_ename_empno索引段的索引扩容200KB,以便能容纳所插入的索引数据。

    当索引段占用了过多的空间,而实际上用不了这样多的空间时,可以通过DEALLOCATE UNUSED来释放多余的空间,如以下语句所示。

     

    1. SQL> ALTER INDEX idx_ename_empno DEALLOCATE UNUSED;  
    2. 索引已更改。  

    上述语句执行后,将释放未曾使用的索引空间。

    展开全文
  • demo.py(index索引,修改索引,将DataFrame某列设为索引): # coding=utf-8 import numpy as np import pandas as pd df = pd.DataFrame(np.arange(12, 24).reshape((3, 4)), index=["a", "b&...

     

    demo.py(index索引,修改索引,将DataFrame某列设为索引):

    # coding=utf-8
    import numpy as np
    import pandas as pd
    
    
    df = pd.DataFrame(np.arange(12, 24).reshape((3, 4)), index=["a", "b", "c"], columns=["WW", "XX", "YY", "ZZ"])
    print(df)
    '''
       WW  XX  YY  ZZ
    a  12  13  14  15
    b  16  17  18  19
    c  20  21  22  23
    '''
    
    
    # 查看索引 (索引是可以重复的)
    print(df.index)  # Index(['a', 'b', 'c'], dtype='object')
    
    # 修改索引
    df.index = ["aa", "bb", "cc"]   # []列表的长度必须与df行数一致。
    print(df)
    '''
        WW  XX  YY  ZZ
    aa  12  13  14  15
    bb  16  17  18  19
    cc  20  21  22  23
    '''
    
    # 根据索引重新构建数据
    df2 = df.reindex(["aa", "pp"])  # 索引存在就正常显示数据,不存在的索引其数据就是NaN
    print(df2)
    '''
          WW    XX    YY    ZZ
    aa  12.0  13.0  14.0  15.0
    pp   NaN   NaN   NaN   NaN
    '''
    
    # 将某列设置为索引
    df3 = df.set_index("YY")  # 将"YY"列设为索引(默认同时删除"YY"列的数据)
    print(df3)
    '''
        WW  XX  ZZ
    YY
    14  12  13  15
    18  16  17  19
    22  20  21  23
    '''
    
    df4 = df.set_index("YY", drop=False)  #  drop=False 表示保留原先"YY"列的数据。(默认为True)
    print(df4)
    '''
        WW  XX  YY  ZZ
    YY
    14  12  13  14  15
    18  16  17  18  19
    22  20  21  22  23
    '''
    
    # unique()某列去重后的内容
    print(df["ZZ"].unique())  # [15 19 23]  ndarray类型
    
    df.index = ["ll", "ll", "mm"]  # 索引可以重复
    # 去重后的索引
    print(df.index.unique())  # Index(['ll', 'mm'], dtype='object')
    
    # index索引有长度
    print(len(df.index))  # 3
    
    # index索引对象可以转换成列表类型
    print(list(df.index))  # ['ll', 'll', 'mm']
    
    

     

    demo.py(复合索引,通过复合索引取值):

    # coding=utf-8
    import numpy as np
    import pandas as pd
    
    
    df = pd.DataFrame(np.arange(12, 24).reshape((3, 4)), index=["a", "b", "c"], columns=["WW", "XX", "YY", "ZZ"])
    print(df)
    '''
       WW  XX  YY  ZZ
    a  12  13  14  15
    b  16  17  18  19
    c  20  21  22  23
    '''
    
    
    # 复合索引 将多列设置为索引
    df2 = df.set_index(["XX", "YY"])  # 如果只设置一列不需要[],如果设置多列需要[]
    print(df2)
    '''
           WW  ZZ
    XX YY
    13 14  12  15
    17 18  16  19
    21 22  20  23
    '''
    
    print(df2.index)  # 复合索引
    '''
    MultiIndex(levels=[[13, 17, 21], [14, 18, 22]],
               codes=[[0, 1, 2], [0, 1, 2]],
               names=['XX', 'YY'])
    --levels表示去重后的索引
    '''
    
    
    # Series类型的复合索引
    s1 = df2["WW"]  # Series类型 (只取了一列)。  df2[["WW"]]是DataFrame类型
    print(s1)  # Series类型
    '''
    XX  YY
    13  14    12
    17  18    16
    21  22    20
    Name: WW, dtype: int64
    '''
    
    # 根据复合索引取值
    print(s1[13][14])  # 12  索引可以重复,一个索引可能对应多个值(如果对应多个值返回Series类型)
    print(s1[13, 14])  # 12  与上一句等同
    print(s1[13])  # Series类型。 如果想通过"YY"索引取值,可以先swaplevel()交换索引次序再取值。
    '''
    YY
    14    12
    Name: WW, dtype: int64
    '''
    # 通过复合索引修改
    s1[13][14] = 55
    print(s1)
    '''
    XX  YY
    13  14    55
    17  18    16
    21  22    20
    Name: WW, dtype: int64
    '''
    
    # swaplevel()交换索引先后次序。
    s2 = s1.swaplevel()  # 将"YY"索引放前,"XX"索引放后
    print(s2)
    '''
    YY  XX
    14  13    12
    18  17    16
    22  21    20
    Name: WW, dtype: int64
    '''
    
    
    # DataFrame的复合索引
    print(df2)
    '''
           WW  ZZ
    XX YY
    13 14  12  15
    17 18  16  19
    21 22  20  23
    '''
    
    # DataFrame通过复合索引取值
    print(df2.loc[13].loc[14])  # Series类型。  索引可以重复,可能对应多个值(DataFrame类型)
    '''
    WW    12
    ZZ    15
    Name: 14, dtype: int64
    '''
    print(df2.loc[13])  # DataFrame类型。  如果想通过"YY"索引取值,可以先swaplevel()交换索引次序再取值。
    '''
        WW  ZZ
    YY
    14  12  15
    '''
    
    # swaplevel()交换索引先后次序。
    df3 = df2.swaplevel()  # 将"YY"索引放前,"XX"索引放后
    print(df3)
    '''
           WW  ZZ
    YY XX
    14 13  12  15
    18 17  16  19
    22 21  20  23
    '''
    
    

     

     

    展开全文
  • 使用IDEA修改索引

    2018-04-04 10:34:26
    使用IDEA修改索引

    使用IDEA修改索引

    展开全文
  • SQLServer之修改索引

    万次阅读 2018-09-29 11:45:06
    使用SSMS数据库管理工具修改索引 使用表设计器修改索引 表设计器可以修改任何类型的索引,修改索引的步骤相同,本示例为修改唯一非聚集索引。 1、连接数据库,选择数据库,选择数据表-》右键点击表-》选择设计。 ...

    使用SSMS数据库管理工具修改索引

    使用表设计器修改索引

    表设计器可以修改任何类型的索引,修改索引的步骤相同,本示例为修改唯一非聚集索引。

    1、连接数据库,选择数据库,选择数据表-》右键点击表-》选择设计。

    2、在表设计器窗口-》选择要修改的数据列-》右键点击-》选择要修改的索引类型。

    3、在弹出框中-》选择要修改的索引-》找到要修改的索引属性进行修改-》修改完成点击关闭。

    4、点击保存按钮或者ctrl+s》关闭表设计器-》刷新表-》查看结果。

    使用对象资源管理器修改索引

    1、连接数据库,选择数据库,选择数据表-》展开数据表-》展开索引-》选择要修改的索引-》右键点击-》选择属性(如果展开索引以后不能选择属性,刷新数据库和数据表重新尝试)。

    2、在索引属性弹出框-》选择你要修改的属性-》修改完成点击确定。

    3、再次点开属性查看修改结果。

    使用T-SQL脚本修改索引

    修改索引列

    若要添加、删除或更改索引列的位置,必须删除并重新创建该索引,详细可以参考本人之前写的创建索引。

    修改索引属性

    使用SQL脚本设置了几个选项

    语法:

    /**********修改索引部分属性**********/
    --声明数据库引用
    use 数据库名;
    go

    --修改索引属性
    alter index 索引名
    on 表名
    set(

    --statistics_norecompute:指定是否重新计算统计信息。
    --statistics_norecompute=on:过时的统计信息不会自动重新计算。
    --statistics_norecompute=off:启用自动统计信息更新。
    statistics_norecompute={ on | off },

    --ignore_dup_key:指定在插入操作尝试向唯一索引插入重复键值时的响应类型。 IGNORE_DUP_KEY 选项仅适用于创建或重新生成索引后发生的插入操作。 当执行 CREATE INDEX、ALTER INDEX 或 UPDATE 时,该选项无效。 默认为 OFF。
    --ignore_dup_key=on:打开,将重复键值插入唯一索引时会出现警告消息。只有违反唯一性的行为才会失败。
    --ignore_dup_key=off:关闭,将重复键值插入唯一索引时会出现错误消息。回滚整个INSERT操作。对于对视图创建的索引、非唯一索引、XML 索引、空间索引以及筛选的索引,IGNORE_DUP_KEY 不能设置为 ON
    ignore_dup_key={ on | off },

    --allow_row_locks:指定是否允许行锁。
    --allow_row_locks=on:访问索引时允许行锁。数据库引擎确定何时使用行锁。
    --allow_row_locks=off:不使用行锁。
    allow_row_locks={ on | off },

    --allow_page_locks:指定是否允许使用页锁。
    --allow_page_locks=on:访问索引时允许页锁。数据库引擎确定何时使用页锁。
    --allow_page_locks=off:不使用页锁。
    allow_page_locks={ on | off }
    );
    go

    示例:

    /**********修改索引属性**********/
    --声明数据库引用
    use testss;
    go

    --修改索引属性
    alter index uniquenonclus2
    on test1
    set(

    --statistics_norecompute:指定是否重新计算统计信息。
    --statistics_norecompute=on:过时的统计信息不会自动重新计算。
    --statistics_norecompute=off:启用自动统计信息更新。
    statistics_norecompute=on,

    --ignore_dup_key:指定在插入操作尝试向唯一索引插入重复键值时的响应类型。 IGNORE_DUP_KEY 选项仅适用于创建或重新生成索引后发生的插入操作。 当执行 CREATE INDEX、ALTER INDEX 或 UPDATE 时,该选项无效。 默认为 OFF。
    --ignore_dup_key=on:打开,将重复键值插入唯一索引时会出现警告消息。只有违反唯一性的行为才会失败。
    --ignore_dup_key=off:关闭,将重复键值插入唯一索引时会出现错误消息。回滚整个INSERT操作。对于对视图创建的索引、非唯一索引、XML 索引、空间索引以及筛选的索引,IGNORE_DUP_KEY 不能设置为 ON
    ignore_dup_key=off,

    --allow_row_locks:指定是否允许行锁。
    --allow_row_locks=on:访问索引时允许行锁。数据库引擎确定何时使用行锁。
    --allow_row_locks=off:不使用行锁。
    allow_row_locks=on,

    --allow_page_locks:指定是否允许使用页锁。
    --allow_page_locks=on:访问索引时允许页锁。数据库引擎确定何时使用页锁。
    --allow_page_locks=off:不使用页锁。
    allow_page_locks=on
    );
    go

    使用SQL脚本重新生成现有索引

    语法:

    /**********修改索引部分属性**********/
    --声明数据库引用
    use 数据库名;
    go

    --该示例重新生成现有索引,并在重新生成操作过程中应用指定的填充因子。
    alter index 索引名
    on 表名
    rebuild with(
    --pad_index:指定索引填充
    --pad_index=on:FILLFACTOR 指定的可用空间百分比应用于索引的中间级页。
    --pad_index=off或未指定 fillfactor:考虑到中间级页上的键集,可以将中间级页几乎填满,但至少要为最大索引行留出足够空间。
    pad_index={ on | off },

    --statistics_norecompute:指定是否重新计算统计信息。
    --statistics_norecompute=on:过时的统计信息不会自动重新计算。
    --statistics_norecompute=off:启用自动统计信息更新。
    statistics_norecompute={ on | off },

    --sort_in_tempdb:指定是否将排序结果存储在 tempdb 中。
    --sort_in_tempdb=on:在tempdb中存储用于生成索引的中间排序结果。如果tempdb与用户数据库不在同一组磁盘上,就可缩短创建索引所需的时间。但是,这会增加索引生成期间所使用的磁盘空间量。
    --sort_in_tempdb=off:中间排序结果与索引存储在同一数据库中。
    sort_in_tempdb={ on | off },

    --ignore_dup_key:指定在插入操作尝试向唯一索引插入重复键值时的响应类型。 IGNORE_DUP_KEY 选项仅适用于创建或重新生成索引后发生的插入操作。 当执行 CREATE INDEX、ALTER INDEX 或 UPDATE 时,该选项无效。 默认为 OFF。
    --ignore_dup_key=on:打开,将重复键值插入唯一索引时会出现警告消息。只有违反唯一性的行为才会失败。
    --ignore_dup_key=off:关闭,将重复键值插入唯一索引时会出现错误消息。回滚整个INSERT操作。对于对视图创建的索引、非唯一索引、XML 索引、空间索引以及筛选的索引,IGNORE_DUP_KEY 不能设置为 ON
    ignore_dup_key={ on | off },

    --online:指定在索引操作期间基础表和关联的索引是否可用于查询和数据修改操作。 默认为 OFF。 REBUILD 可作为 ONLINE 操作执行。
    --online=on:在索引操作期间不持有长期表锁。 在索引操作的主要阶段,源表上只使用意向共享 (IS) 锁。 
    --这使得能够继续对基础表和索引进行查询或更新。 
    --操作开始时,在很短的时间内对源对象持有共享 (S) 锁。
    --操作结束时,如果创建非聚集索引,将在短期内获取对源的 S(共享)锁;
    --当联机创建或删除聚集索引时,以及重新生成聚集或非聚集索引时,将在短期内获取 SCH-M(架构修改)锁。 但联机索引锁是短的元数据锁,特别是 Sch-M 锁必须等待此表上的所有阻塞事务完成。 
    --在等待期间,Sch-M 锁在访问同一表时阻止在此锁后等待的所有其他事务。 对本地临时表创建索引时,ONLINE 不能设置为 ON。
    --online=off:在索引操作期间应用表锁。这样可以防止所有用户在操作期间访问基础表。
    --创建、重新生成或删除聚集索引或者重新生成或删除非聚集索引的脱机索引操作将对表获取架构修改 (Sch-M) 锁。 
    --这样可以防止所有用户在操作期间访问基础表。 创建非聚集索引的脱机索引操作将对表获取共享 (S) 锁。 这样可以防止更新基础表,但允许读操作(如 SELECT 语句)。
    online={ on | off },

    --allow_row_locks:指定是否允许行锁。
    --allow_row_locks=on:访问索引时允许行锁。数据库引擎确定何时使用行锁。
    --allow_row_locks=off:不使用行锁。
    allow_row_locks={ on | off },

    --allow_page_locks:指定是否允许使用页锁。
    --allow_page_locks=on:访问索引时允许页锁。数据库引擎确定何时使用页锁。
    --allow_page_locks=off:不使用页锁。
    allow_page_locks={ on | off },

    --fillfactor=n:指定一个百分比,指示在数据库引擎创建或修改索引的过程中,应将每个索引页面的叶级填充到什么程度。 指定的值必须是 1 到 100 之间的整数。 默认值为 0。
    fillfactor=n,

    --maxdop=max_degree_of_parallelism:在索引操作期间替代 max degree of parallelism 配置选项。 有关详细信息,请参阅 配置 max degree of parallelism 服务器配置选项。 使用 MAXDOP 可以限制在执行并行计划的过程中使用的处理器数量。 最大数量为 64 个处理器。
    --max_degree_of_parallelism 可以是:
    --1 - 取消生成并行计划。
    -->1 - 将并行索引操作中使用的最大处理器数量限制为指定数量。
    --0(默认值)- 根据当前系统工作负荷使用实际数量的处理器或更少数量的处理器。
    --有关详细信息,请参阅 配置并行索引操作。
    maxdop=1

    --data_compression=row:为指定的表、分区号或分区范围指定数据压缩选项。 选项如下所示:
    --none
    --不压缩表或指定的分区。 仅适用于行存储表;不适用于列存储表。
    --row
    --使用行压缩来压缩表或指定的分区。 仅适用于行存储表;不适用于列存储表。
    --page
    --使用页压缩来压缩表或指定的分区。 仅适用于行存储表;不适用于列存储表。
    --columnstore
    --适用范围: SQL Server 2014 (12.x) 到 SQL Server 2017。
    --仅适用于列存储表。 COLUMNSTORE 指定对使用 COLUMNSTORE_ARCHIVE 选项压缩的分区进行解压缩。 还原数据时,将继续通过用于所有列存储表的列存储压缩对 COLUMNSTORE 索引进行压缩。
    --columnstore_archive
    --适用范围: SQL Server 2014 (12.x) 到 SQL Server 2017。
    --仅适用于列存储表,这是使用聚集列存储索引存储的表。 COLUMNSTORE_ARCHIVE 会进一步将指定分区压缩到更小。 这可用于存档,或者用于要求更少存储并且可以付出更多时间来进行存储和检索的其他情形
    --data_compression=row --注意:只有 SQL Server Enterprise Edition 支持压缩。

    --on partitions ( { <partition_number_expression> | <range> } [ ,...n ] ) 适用范围: SQL Server 2008 到 SQL Server 2017。
    --指定对其应用 DATA_COMPRESSION 设置的分区。 如果表未分区,ON PARTITIONS 参数将生成错误。 如果不提供 ON PARTITIONS 子句,DATA_COMPRESSION 选项将应用于已分区表的所有分区。
    --可以按以下方式指定 <partition_number_expression>:
    --提供一个分区号,例如:ON PARTITIONS (2)。
    --提供若干单独分区的分区号并用逗号将它们隔开,例如:ON PARTITIONS (1, 5)。
    --同时提供范围和单个分区,例如:ON PARTITIONS (2, 4, 6 TO 8)。
    --<range> 可以指定为以单词 TO 隔开的分区号,例如:ON PARTITIONS (6 TO 8)。
    --,请多次指定 DATA_COMPRESSION 选项 
    --on partitions(1-2) --注意:分区之前表一定要有分区方案
    );
    go

    示例:

    /**********修改索引部分属性**********/
    --声明数据库引用
    use testss;
    go

    --该示例重新生成现有索引,并在重新生成操作过程中应用指定的填充因子。
    alter index uniquenonclus2
    on test1
    rebuild with(
    --pad_index:指定索引填充
    --pad_index=on:FILLFACTOR 指定的可用空间百分比应用于索引的中间级页。
    --pad_index=off或未指定 fillfactor:考虑到中间级页上的键集,可以将中间级页几乎填满,但至少要为最大索引行留出足够空间。
    pad_index=on,

    --statistics_norecompute:指定是否重新计算统计信息。
    --statistics_norecompute=on:过时的统计信息不会自动重新计算。
    --statistics_norecompute=off:启用自动统计信息更新。
    statistics_norecompute=off,

    --sort_in_tempdb:指定是否将排序结果存储在 tempdb 中。
    --sort_in_tempdb=on:在tempdb中存储用于生成索引的中间排序结果。如果tempdb与用户数据库不在同一组磁盘上,就可缩短创建索引所需的时间。但是,这会增加索引生成期间所使用的磁盘空间量。
    --sort_in_tempdb=off:中间排序结果与索引存储在同一数据库中。
    sort_in_tempdb=off,

    --ignore_dup_key:指定在插入操作尝试向唯一索引插入重复键值时的响应类型。 IGNORE_DUP_KEY 选项仅适用于创建或重新生成索引后发生的插入操作。 当执行 CREATE INDEX、ALTER INDEX 或 UPDATE 时,该选项无效。 默认为 OFF。
    --ignore_dup_key=on:打开,将重复键值插入唯一索引时会出现警告消息。只有违反唯一性的行为才会失败。
    --ignore_dup_key=off:关闭,将重复键值插入唯一索引时会出现错误消息。回滚整个INSERT操作。对于对视图创建的索引、非唯一索引、XML 索引、空间索引以及筛选的索引,IGNORE_DUP_KEY 不能设置为 ON
    ignore_dup_key=off,

    --online:指定在索引操作期间基础表和关联的索引是否可用于查询和数据修改操作。 默认为 OFF。 REBUILD 可作为 ONLINE 操作执行。
    --online=on:在索引操作期间不持有长期表锁。 在索引操作的主要阶段,源表上只使用意向共享 (IS) 锁。 
    --这使得能够继续对基础表和索引进行查询或更新。 
    --操作开始时,在很短的时间内对源对象持有共享 (S) 锁。
    --操作结束时,如果创建非聚集索引,将在短期内获取对源的 S(共享)锁;
    --当联机创建或删除聚集索引时,以及重新生成聚集或非聚集索引时,将在短期内获取 SCH-M(架构修改)锁。 但联机索引锁是短的元数据锁,特别是 Sch-M 锁必须等待此表上的所有阻塞事务完成。 
    --在等待期间,Sch-M 锁在访问同一表时阻止在此锁后等待的所有其他事务。 对本地临时表创建索引时,ONLINE 不能设置为 ON。
    --online=off:在索引操作期间应用表锁。这样可以防止所有用户在操作期间访问基础表。
    --创建、重新生成或删除聚集索引或者重新生成或删除非聚集索引的脱机索引操作将对表获取架构修改 (Sch-M) 锁。 
    --这样可以防止所有用户在操作期间访问基础表。 创建非聚集索引的脱机索引操作将对表获取共享 (S) 锁。 这样可以防止更新基础表,但允许读操作(如 SELECT 语句)。
    online=off,

    --allow_row_locks:指定是否允许行锁。
    --allow_row_locks=on:访问索引时允许行锁。数据库引擎确定何时使用行锁。
    --allow_row_locks=off:不使用行锁。
    allow_row_locks=on,

    --allow_page_locks:指定是否允许使用页锁。
    --allow_page_locks=on:访问索引时允许页锁。数据库引擎确定何时使用页锁。
    --allow_page_locks=off:不使用页锁。
    allow_page_locks=on,

    --fillfactor=n:指定一个百分比,指示在数据库引擎创建或修改索引的过程中,应将每个索引页面的叶级填充到什么程度。 指定的值必须是 1 到 100 之间的整数。 默认值为 0。
    fillfactor=1,

    --maxdop=max_degree_of_parallelism:在索引操作期间替代 max degree of parallelism 配置选项。 有关详细信息,请参阅 配置 max degree of parallelism 服务器配置选项。 使用 MAXDOP 可以限制在执行并行计划的过程中使用的处理器数量。 最大数量为 64 个处理器。
    --max_degree_of_parallelism 可以是:
    --1 - 取消生成并行计划。
    -->1 - 将并行索引操作中使用的最大处理器数量限制为指定数量。
    --0(默认值)- 根据当前系统工作负荷使用实际数量的处理器或更少数量的处理器。
    --有关详细信息,请参阅 配置并行索引操作。
    maxdop=1

    --data_compression=row:为指定的表、分区号或分区范围指定数据压缩选项。 选项如下所示:
    --none
    --不压缩表或指定的分区。 仅适用于行存储表;不适用于列存储表。
    --row
    --使用行压缩来压缩表或指定的分区。 仅适用于行存储表;不适用于列存储表。
    --page
    --使用页压缩来压缩表或指定的分区。 仅适用于行存储表;不适用于列存储表。
    --columnstore
    --适用范围: SQL Server 2014 (12.x) 到 SQL Server 2017。
    --仅适用于列存储表。 COLUMNSTORE 指定对使用 COLUMNSTORE_ARCHIVE 选项压缩的分区进行解压缩。 还原数据时,将继续通过用于所有列存储表的列存储压缩对 COLUMNSTORE 索引进行压缩。
    --columnstore_archive
    --适用范围: SQL Server 2014 (12.x) 到 SQL Server 2017。
    --仅适用于列存储表,这是使用聚集列存储索引存储的表。 COLUMNSTORE_ARCHIVE 会进一步将指定分区压缩到更小。 这可用于存档,或者用于要求更少存储并且可以付出更多时间来进行存储和检索的其他情形
    --data_compression=row --注意:只有 SQL Server Enterprise Edition 支持压缩。

    --on partitions ( { <partition_number_expression> | <range> } [ ,...n ] ) 适用范围: SQL Server 2008 到 SQL Server 2017。
    --指定对其应用 DATA_COMPRESSION 设置的分区。 如果表未分区,ON PARTITIONS 参数将生成错误。 如果不提供 ON PARTITIONS 子句,DATA_COMPRESSION 选项将应用于已分区表的所有分区。
    --可以按以下方式指定 <partition_number_expression>:
    --提供一个分区号,例如:ON PARTITIONS (2)。
    --提供若干单独分区的分区号并用逗号将它们隔开,例如:ON PARTITIONS (1, 5)。
    --同时提供范围和单个分区,例如:ON PARTITIONS (2, 4, 6 TO 8)。
    --<range> 可以指定为以单词 TO 隔开的分区号,例如:ON PARTITIONS (6 TO 8)。
    --,请多次指定 DATA_COMPRESSION 选项 
    --on partitions(1-2) --注意:分区之前表一定要有分区方案
    );
    go

    修改索引名称

    语法:

    /**********修改索引名称**********/
    --声明数据库引用
    use 数据库名;
    go

    --修改索引名称
    exec sp_rename N'表名.索引名',N'索引名',N'index';
    go

    示例:

    /**********修改索引名称**********/
    --声明数据库引用
    use testss;
    go

    --修改索引名称
    exec sp_rename N'test1.uniquenonclus1',N'uniquenonclus2',N'index';
    go

     

    展开全文
  • es修改索引副本个数

    2020-08-06 13:50:33
    es修改索引副本个数 PUT index01/_settings { "number_of_replicas": 2 }
  • MySQL 数据库基础学习一、索引的概念二、创建索引1、创建表时创建索引2、在已存在的表上创建索引三、查看索引四、修改索引五、删除索引六、索引分类六、索引优缺点 索引(index/key) 索引概念 创建索引 查看索引 ...
  • 因为要准备面试了,所以准备了一下,...检查表的索引信息 EXEC Sp_helpindex jerry_boys 创建索引 create unique/CLUSTERED/nonCLUSTERED index pkindex on jerry_boys(name) 删除 索引 drop index pkindex ...
  • Oracle 数据库修改索引表空间
  • 一、创建索引 1、添加PRIMARY KEY(主键索引) ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 2、添加UNIQUE(唯一索引) ALTER TABLE `table_name` ADD UNIQUE ( `column` ) 3、添加INDEX(普通索引) ...
  • es中修改索引名称命令 嘿, 今天,我碰巧写了一个脚本来解决一个看起来很多人都面临的特定问题:重命名给定的Elasticsearch索引。 自然地,有记录在案的解决方案,但是我没有Swift找到一个脚本可以让我找到我想...
  • 原文:百万数据修改索引,百万数据修改主键 当百万数据时,如果修改主键,那么会自动重建索引,所以操作会非常慢,经常会超时,错误提示类似: 超时时间已到。在操作完成之前超时时间已过或服务器未响应 解决方案:...
  • 修改索引数据

    2018-05-08 17:54:27
    public void set(int index,Object newData)像现在如果要是发现某些数据的保存有问题,则可以根据索引进行修改处理操作 。索引修改处理跟get()方法很类似,因为之前的get()只是返回数据3,如果要修改只需要做一个...
  • 默认情况下,mongodb地理...但是我的坐标是大地坐标,不是经纬度,怎么在C#声明一个mongodb地理位置索引,并修改索引范围? shell是这样修改的:db.places.ensureIndex( { loc : "2d" } , { min : -500 , max : 500 } )
  • 修改索引名称(mysql)

    千次阅读 2017-06-20 15:14:00
    MySQL修改索引名称。 对于MySQL 5.7及以上版本,可以执行以下命令: ALTER TABLE tbl_name RENAME INDEX old_index_name TO new_index_name 对于MySQL 5.7以前的版本,可以执行下面两个命令: ALTER TABLE tbl_...
  • 索引命名规则 普通索引名:IDX_table_&amp;lt;column&amp;gt;_&amp;lt;column&amp;gt; 唯一索引名:UDX_table_&amp;lt;column&amp;gt;_&amp;lt;column&amp;gt; 其中&amp;lt;...
  • 今天在做题时遇到了在for循环体中修改索引的一点问题 做了个测试,运行如下代码 public class test { public static void main(String[] args) { for(int i=1;i<6;i++){ System.out.println(i); i++; } ...
  • lucene修改索引

    2008-10-07 17:06:00
    在2.0版本中,lucene修改索引不再推荐使用IndexModifier类,而是使用IndexWriter。具体的使用在文档中有详细的介绍。 以deleteDocuments为例,有如下两个函数 public void deleteDocuments(Term term) throws ...
  • 先安装好solr,安装教程在上一章节【41分布式电商项目 - Linux 下安装...需要修改索引库的名称 1)首先进入solrhome cd /usr/local/solrhome/ 2)进入collection1文件夹,编辑core.properties文件 cd collectio...
  • Oracle 11g数据库系统设计、开发、管理与应用 7.3 修改索引  ...
  • * 更新索引 * 本质先删除再添加 * 先删除所有满足条件的文档,再创建文档 * 因此,更新索引通常要根据唯一字段 * @throws IOException */ @Test public void testUpdate() throws IOException{ // 创建.....
  • 索引分类: 主键索引: 不能为null,唯一索引可以为null 单值索引: 单列,每个表可以有多个 唯一索引: 不能重复 复合索引: 多个列构成的索引,相当于二级目录 name,age 两个张三,再看年龄; 创建索引: ...
  • 联合索引: 查看表中已经存在 index:showindex from table_name; 创建和删除索引 索引的创建可以在CREATE TABLE语句中进行,也可以单独用CREATE INDEX或ALTER TABLE来给表增加索引。删除索引可以利用ALTER ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,840
精华内容 9,536
关键字:

修改索引