Performance Sybase:非聚集索引中的列顺序是否会影响插入性能?

Performance Sybase:非聚集索引中的列顺序是否会影响插入性能?,performance,optimization,indexing,sybase,Performance,Optimization,Indexing,Sybase,更具体地说,因为对该主题的一般回答可能是肯定的: 我们在Sybase中有一个包含大量数据的表 其中一列是插入日期日期,日期时间类型 表上的聚集索引以日期开始 问:对于另一个非聚集索引,列的顺序是否更具体地说,日期是第一个索引列还是第二个索引列会影响插入查询的性能 假设其他所有内容都相等,例如,即使相等,我也不关心这个问题。我认为这在很大程度上取决于索引中的填充因子,在较小程度上取决于列的选择性。表中的锁定方案是什么所有页面还是数据页面?您可以通过选择lockscheme“table_name”来

更具体地说,因为对该主题的一般回答可能是肯定的:

我们在Sybase中有一个包含大量数据的表

其中一列是插入日期日期,日期时间类型

表上的聚集索引以日期开始

问:对于另一个非聚集索引,列的顺序是否更具体地说,日期是第一个索引列还是第二个索引列会影响插入查询的性能


假设其他所有内容都相等,例如,即使相等,我也不关心这个问题。

我认为这在很大程度上取决于索引中的填充因子,在较小程度上取决于列的选择性。

表中的锁定方案是什么所有页面还是数据页面?您可以通过选择lockscheme“table_name”来找到答案。应用程序观察到,数据页锁定方案的索引维护性能要好得多

索引是有序的。插入时间取决于维持该订单的成本。如果为索引的列插入具有单调递增值的行,那么索引将“在末尾”增长,性能将大大降低由于多个并发更新程序导致的任何并发问题。索引树将不得不不时地重新平衡,但我相信这是一个快速的操作

如果插入的顺序与索引的顺序不同,则该索引必须将条目插入“中间”,这可能会导致页面拆分,通过如上所述设置填充因子和“索引碎片”,留下足够的未分配空间

不管怎么说,答案——一如既往——是进行一些实验,测量经过的时间和IO活动。您可能还需要查看optdiag输出


pjjH

如何确定Sybase上现有索引的填充因子?索引创建语句不包含任何显式填充因子。对sysobjects和sysindexes的查询:从sysobjects中选择o.name、i.name、i.fill\u factor、i.exp\u rowsize o JOIN sysindexes i ON o.id=i.id。另外,请查看sp\u configure“default fill factor”的输出