2、定义序列的语句

Sequence 两个属性( nextval、currval )的使用。<??http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPgo8c3Ryb25nPjGjqbLp0a88L3N0cm9uZz4KPHN0cm9uZz61scewJiMyMDU0MDujujwvc3Ryb25nPgo8c3Ryb25nPjxpbWcgc3JjPQ=="https://www.cppentry.com/upload_files/article/57/1_8s3nf__.png" alt="\">
下一个值

注意事项:
nextval 和 currval 伪列
1、nextval 返回序列中的下一个有效的值,任何用户都可以引用
2、currval 中存放序列的当前值
3、nextval 应在 currval 之前指定,否则会报 currval 尚未在此会话中定义的错误。

查询序列后,显示如下:

2)序列的修改

改为:每次增长1,以及不循环,即表中 id 无上限。
插入数据后:

修改序列的注意事项: 1、必须是序列的拥有者或对序列有 alter 权限; 2、只有将来的序列值会被改变; 3、改变序列的初始值只能通过删除序列之后重建序列的方法实现。
3)序列的使用 1、将序列值存入内存可提高访问效率 2、序列在下列情况下出现裂痕: -- 回滚 -- 系统异常 -- 多个表同时使用一个序列(一个表维护一个序列,不要多个表由一个序列维护) 3、如果不将序列的值存入内存(nocache),可使用表 user_sequences 查看序列当前的有效值。
2、创建索引 1)自动创建:在定义 primary key 或 unique 约束后系统自动在响应的列上创建唯一性索引 2)手动创建:用户可以在其他列上创建非唯一的索引,以加速查询
例:在一个或多个列上创建索引

创建成功显示:Index created
3、何时创建索引 -- 列中的数据值分布范围很广 -- 列经常在where 子句或连接条件中出现(使用频繁就需要索引) -- 表经常被访问而且数据量很大,访问的数据大概占数据总量的 2% 到 4%
4、什么时候不要创建索引 -- 表很小 -- 列不经常作为连接条件或出现在 where 子句中 -- 查询的数据大于 2% 到 4% -- 表经常更新
三、同义词 见数据库对象一文
版权声明:本文为博主原创文章,未经博主允许不得转载。