CRUD可不可以是CR(DC)D
希望大神们给分析分析。
我个人感觉CRUD可以是CR(DC)D, 而且有些时候性能会更好。
[解决办法]
我表示看不懂
这个和性能有什么关系呢
[解决办法]
CR(DC)D
似乎是把更新换成先删除再插入?
性能差了好多个级别啊
[解决办法]
对于msSqlserver,微软就是采用Delete&Insert处理Update的,
但是,这是系统事务,
如果楼主想自己这样做,你能保证自定义事务的可靠性么?
还有一个最要命的问题,就是并发
[解决办法]
我猜想,楼主是不想去编写update的代码,才会想到评估这种方案
如果真是这样,这个只需要设计手段就能解决,
最简单的,现成的手段就是利用ado.net,
insert,update,delete和一些简单的查询都不需编写代码
[解决办法]
当然啦。如果你使用了不定长的记录,而新记录比原来的长,为了节约存储,系统使用可变存储空间保存记录,显然直接更新(将记录后面的数据向后移动,腾出空间再插入)的效率要比删掉重建的差很多。从数据库系统的设计看,它当然会采用符合它设计的有利于性能的方法,难道还需要等你越俎代庖帮它优化?
[解决办法]
V一下,"csdn 300万.zip"含金量更高了。
[解决办法]
自己的一些看法
数据库中,索引是B树,更新的代价是查找一次,删除和插入会引起索引的重构,当你数据库索引字段比较多的时候,就不要为了省自己编写代码的工作量去降低工作性能,当然,非数据库的就有时不如删除插入了,不过要清楚这两者行为大多数情况下会有差异,尤其是牵扯到索引或者数据重复唯一性等
[解决办法]
最近我们有一个表,ScanDensity只有16.6%,问题相当严重。
只要有操作,就一定会产生碎片。数据库的处理思维和程序思维不太一样。
我在想你的CRUD是不是说的程序,CR(DC)D说的数据库。
[解决办法]