L LSS Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-25 #1 我用insert into向数据库插入记录,为何插入的记录不是按插入先后存放的 我也找不到规律,而且用SELECT返回时,最后插入和记录并不一定在最后一条
C cytown Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-25 #3 呵呵, 只有文件型数据库有记录顺序问题, 大型数据库都是最后更新/添加的在后面. 如果定义主键, 会根据主键顺序显示.
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-25 #4 只有顺序索引型数据库(ISAM),比如dbase,foxbase系列,才有"插入"纪录的概念. 关系型数据库(Access等)无此概念.
小 小天 Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-25 #5 在DELPHI中可用APPEND,它增加的记录一定是按次序排列的, 如果直接用SQL语句,则先把query或table Last一下,再执行insert
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-25 #6 小天:这样做毫无意义,最好还是开导他放弃这个想法,这样才能彻底摆脱foxpro系列 的东西.
小 小天 Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-25 #7 哦,对,别用记录号这个概念, 多用用query写写SQL语句,好快好快的
L LSS Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-25 #9 我用的是SQL SERVER7.0设主键和没设主键都有此现象,我都是用 Insert into table values (...)插入的
A Another_eYes Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-25 #10 很正常. 可能它是按访问频度来安排具体数据的存放位置的. 所以query时 没有排序的话返回顺序没有规律.
C CJ Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-25 #11 变通的方法:建立个identify的key,返回时按此KEY排序 select * from yourdb orderby identifykey
L LSS Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-26 #12 TO Another_eYes 请问“访问频度”是什么意思,我发现数据在保存时就不规则 存放,一但存放,其位置就不再发生变化,这与查询数据无关(因为还没有查询 数据),所以不存在频度问题。 是否是数据库按自己的规则存放数据,以利于访问速度和空间存贮,如果是这样 的话,只有增加新字段了,真的没有其它办法了吗???
TO Another_eYes 请问“访问频度”是什么意思,我发现数据在保存时就不规则 存放,一但存放,其位置就不再发生变化,这与查询数据无关(因为还没有查询 数据),所以不存在频度问题。 是否是数据库按自己的规则存放数据,以利于访问速度和空间存贮,如果是这样 的话,只有增加新字段了,真的没有其它办法了吗???
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-26 #13 关系型数据库的数据存放物理位置与添加顺序毫无规律,不要自寻烦恼了.
A Another_eYes Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-27 #14 知道novell的方法吗? 读写盘时判断磁头位置, 取磁头移动最短距离保存数据. 我想ms sql server这类大型关系型数据库都有类似的存贮优化功能的. 所以 你无法得知数据存放的物理规律.
W wgzhang Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-27 #15 同意cAkk的说法,关系型数据库的数据存放物理位置与添加顺序毫无规律
S spear Unregistered / Unconfirmed GUEST, unregistred user! 1999-10-30 #16 Another_eYes说法有问题,在数据库插入数据时 数据还没使用过,又怎么知道它的访问频度呢? 访问频度只是用在优化查询而已。 cAkk说的没错,RDBMS的数据存放物理位置与添 加顺序无关,而且从业务逻辑看你也应该只根据 业务需要来使用SQL语句,而不能从操作上来操纵 数据。
Another_eYes说法有问题,在数据库插入数据时 数据还没使用过,又怎么知道它的访问频度呢? 访问频度只是用在优化查询而已。 cAkk说的没错,RDBMS的数据存放物理位置与添 加顺序无关,而且从业务逻辑看你也应该只根据 业务需要来使用SQL语句,而不能从操作上来操纵 数据。