【问题标题】:Update MySQl table onDrop?更新 MySQl 表 onDrop?
【发布时间】:2011-03-02 17:24:51
【问题描述】:

我正在编写一个 PHP/MySQL 应用程序(使用 CodeIgniter),它使用一些 jQuery 功能来拖动表格行。我有一个表,用户可以在其中将行拖动到所需的顺序(我需要保留每行排名的队列类型)。我一直试图弄清楚每次用户删除一行时如何(以及是否应该)更新数据库,以简化 UI 并避免“保存”按钮。

我有 jQuery 工作并且可以将序列化列表发送回服务器 onDrop,但是经常运行更新查询是一种好的设计实践吗?该表通常最多有 30-40 行,但如果用户将第 1 行拖到列表的下方,则可能需要更新所有行以更新排名字段。

我一直在想是否向服务器发送一个巨大的查询,循环遍历 PHP 中的行并使用自己的更新查询更新每一行,向存储过程发送一个小的序列化列表以让服务器执行所有的工作,或者我没有考虑过的更好的方法。我读过 MySQL 中的存储过程效率不高,每次调用都使用单独的进程。关于这里的正确解决方案有什么建议吗?非常感谢您的帮助!

【问题讨论】:

    标签: php mysql codeigniter jquery


    【解决方案1】:

    任何包含“表格通常最多有 30-40 行”的问题都以“随心所欲”结尾。我无法想象一个操作,无论它执行得多么频繁,都会对这么小的表产生任何明显的性能影响。

    唯一真正的问题是,当您的请求传入和返回服务器时,访问者会做什么。他们会被禁止进行其他更改吗?如果没有,请确保您有一种机制来确保最近的更改是真正生效的更改。 (请求可能会乱序到达服务器,并且您不希望将过时的请求保存为最终状态。)

    【讨论】:

    • 我没有考虑过乱序问题。好点。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2017-08-28
    • 1970-01-01
    • 2012-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-27
    • 2020-12-20
    相关资源
    最近更新 更多