教科书上云:
建立索引的理由:
1.一般情况下,索引会加快表的连接和执行排序或分组操作的查询。
2.如果在创建索引时定义了唯一性,索引会增强行的唯一性。
3.索引以升序或降序的查询顺序创建和维护。
4.在具有较高水平的选择性(数据的主体--列或列的组合是唯一的)时,索引在类上被创建。
不建索引的理由:
索引不是必须的,因为它会消耗硬盘空间并会导制开销和维护开销。
1.在被索引的列上修改数据时,SQLServer将会更新相关的索引。
2.维护索引需要时间和资源,因此,在不经常使用索引时不要创建索引。
3.如果列上的索引包括有大量重复的数据,那么该索引就没有什么优势。
建立索引的理由:
1.一般情况下,索引会加快表的连接和执行排序或分组操作的查询。
2.如果在创建索引时定义了唯一性,索引会增强行的唯一性。
3.索引以升序或降序的查询顺序创建和维护。
4.在具有较高水平的选择性(数据的主体--列或列的组合是唯一的)时,索引在类上被创建。
不建索引的理由:
索引不是必须的,因为它会消耗硬盘空间并会导制开销和维护开销。
1.在被索引的列上修改数据时,SQLServer将会更新相关的索引。
2.维护索引需要时间和资源,因此,在不经常使用索引时不要创建索引。
3.如果列上的索引包括有大量重复的数据,那么该索引就没有什么优势。
但是那会带来不必要的开销啊?
另外,我操作表时没有涉及“idx”字段,那么建立在该主键上的索引对我的操作有没有影响呢?
但是那样做有个缺点,就是如果表的插入和删除操作频繁,那最终将导致idx的值溢出,有没有其他更好创建主键或优化数据库的方法呢?
会给分的,别急啊,我很爽快的
表中的数据在某一时刻不超过一万条,但每分钟可能插入或删除几千条,那样的话idx可能不久会溢出,有没有什么好一点的优化方法呢?(表中需要做查找操作)
但是那样做有个缺点,就是如果表的插入和删除操作频繁,那最终将导致idx的值溢出,有没有其他更好创建主键或优化数据库的方法呢?
用idx BIGINT identity(1,1) primary key 就不会溢出了。
good luck
在ORACLE上怎么做?上面的语句不改动就行吗?它不会溢出吗?
谢谢!
我还想了解一下ORACLE上的操作,是不是它就不存在溢出,还是它有更好的方法?
等你来了就结了此贴。