algorithm - 以最少的数据库更新操作重新排序字符串数组
问题描述
可以说我存储了一些这样的有序字符串:
1 apple
2 banana
3 pear
4 mango
5 cantaloupe
现在我需要插入应该出现在位置 4 的草莓。OFC 我可以通过更新数字索引轻松做到这一点,例如:
1 apple
2 banana
3 pear
4 strawberry
5 mango
6 cantaloupe
但问题是 - 如果我需要将此位置更新存储在数据库中,我现在需要存储 3 个操作:
a) UPDATE index = 6, WHERE index=5
b) UPDATE index = 5, WHERE index=4
c) insert strawberry at position 4
这对于小型列表来说很好,但在大型列表中,我最终会进行大量的位置更新操作。
有没有更有效的方法?也许使用数字以外的东西?
解决方案
推荐阅读
- r - R Markdown 可以显示在函数中创建的 ggplot 图吗?
- javascript - ReferenceError:找不到变量:DOMParser
- php - Codeigniter 4 中的分页 URI
- vue.js - 我可以通过 NPM 使用 Vuetify 而无需在旧项目中接触 WebPack 吗?
- python - Scipy 未能最小化成本函数
- sql - 客户帐户余额如何影响 SQL Server 中的客户交易表?
- javascript - 使用 Oscillator.connect() 和 Oscillator.disconnect() 方法在使用 Web Audio API 构建的应用程序中打开/关闭声音的可行性如何?
- reactjs - 使用 npm 包oddslib 时遇到问题
- java - 如何为模型类中的对象编写 TypeConverter
- elasticsearch - elasticsearch 不返回预期回报