为什么java 中Derby主键自增每次都加100

我用以下语句在derby数据库中创建了一个表createtableapp.item(it_idintegernotnullgeneratedalwaysasidentit... 我用以下语句在derby数据库中创建了一个表
create table app.item (
it_id integer not null generated always as identity (start with 1,increment by 1),
it_name varchar(255) unique not null
)
设置字段"it_id"类型为integer , 主键自增,从1开始,每次自动加1.
但实际情况是我次添加一个数据,它都会自动加100
1,1
2 , 101
2, 201
这样子加, 请问有哪位大师知道该怎样改使它每次都加1吗 ?
展开
 我来答
百度网友9308069
2016-06-13 · TA获得超过1万个赞
知道大有可为答主
回答量:3947
采纳率:89%
帮助的人:1920万
展开全部
据了解,derby数据库对记录项的预缓存项数就是100,
在你数据库操作后没有正常关闭数据库和连接的情况,就会导致缓存中的[前一插入位置]丢失。
这个项可以在derby的设置属性derby.language.sequence.preallocator中改,但缩小后缓存变小影响性能,应该去解决流程中的错误...
另外,作为键值(而不是数值),重点在保障唯一性,正确设计下即使增100也不影响...
追问
我用的是integer类型做主键,怕它乱加以后会没有足够的空间保存健值,那我每次做完后把Connection 关闭就应该没有问题了吧?
追答
正确关闭的情况没有这种情况...
不然就不会有increment设置项..
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式