关于数据库存储键值对的问题?

关于数据库存储键值对的问题?,第1张

这是前端(应用端)和后端(服务端)的问题,这个应该是每个用户的单独配置,那么应该放在前端而是不是放在后端,如果放在后端,那么每个用户都要读取,那么体验一定不好。

对于前端来说,只要加一个“配置文件”(其实就是一段代码)就可以,然后通过服务端的程序读取这个“配置文件”,就知道相应的顺序了,这样总比,连通服务器读取相应的表,来的要快。

如果非要用数据库解决,那我们做一个假设,有100项,某人将所有的项目变成了从后往前倒着写的,也就是第100项与第1项位置互换,第99项与第2项位置互换,这样,那么最后是第50项与第51项调换,也就是100项完全变换了位置,那么不管你怎么存储,怎么读取,这些项都必须全部保存起来,因为每一项的顺序都变了,所以这个方案并不是十分好。

当然,如果非要这么做的话,那么有一个稍微简单一点的办法,不过也需要前端的配合而且,很可能出现征用的情况,使用效果也不一定能太好。

我的办法是建立userid 10001 10002 10003 这样一张表,说白了就是一张以默认顺序ModuleID(个人觉得这个可能是你的表头代码,如果不是不要介意)为字段名的表,然后每条用户id,对应一组编号比如(默认编号为1,2,3,4):

userid 10001 10002 10003 10004

14 3 1 2

221 4 3

31 2 3 4

类似于这样就能直接得到用户的编号顺序了,不过这种还是不如在前端一个配置文件来的舒服(用户修改配置文件后,服务端也会备份(类似于上表这种也可以作为一个客户端配置的备份),但是这种备份比直接修改数据库要要省事不少,至少节省了数据库的资源),而且可能出现征用的问题,比如两个人或更多的人同时修改代码,那么一张表不可能让这么多人同时update,肯定要出现征用,那么服务体验就不会太好(备份的话,不用那么及时,所以征用的可能性不大,即使出现也是发生在后端,用户的体验并没有什么影响)。

以上均为个人理解,共同探讨。

# 设置游标类型,默认游标类型为元组形式

# 将游标类型设置为字典形式

cursor = db.cursor(cursor=pymysql.cursors.DictCursor)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8554780.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-17
下一篇2023-04-17

发表评论

登录后才能评论

评论列表(0条)

    保存