gpt4 book ai didi

MySql 触发器和性能

转载 作者:行者123 更新时间:2023-11-29 03:34:45 35 4
gpt4 key购买 nike

我有以下要求。我有 4 个 MySQL 数据库和一个应用程序,用户需要在其中获取每个数据库表中的记录数。问题是计数可能每分钟或每秒都会发生变化。因此,每当用户将鼠标悬停在特定的 UI 区域时,我都需要调用所有这些数据库并获取计数。我认为这不是最佳方法,因为这些表包含数百万条记录,每次将鼠标悬停在上面时,都会对所有这些数据库进行 dB 调用。

触发器是我发现的一种方法。而不是我们从数据库中提取数据,我觉得每当这些表发生任何插入/更新/删除时,都会执行一个触发器,这将增加/减少另一个表中的计数(仅包含这些表的计数) .但是我读过像触发器会影响数据库性能,但也读过一些情况触发器是唯一的解决方案。

所以请指导我在我的情况下触发器是解决方案吗?如果它影响数据库性能,我不需要它。对于这个问题还有其他更好的方法吗?

谢谢

最佳答案

据我所知,您有 4 个数据库,每个数据库中有 n 个表,当用户将鼠标悬停在应用程序的特定区域时,用户应该会看到该表中的行数。我建议您使用 count(*) 返回数据库中每个表中的行数。触发器用于在数据库中发生更新、删除或插入等特定事件时执行某些操作。这不是一个好主意调用触发器以对悬停等用户交互使用react。如果你能告诉我你正在使用哪种语言设计前端,我可以更具体一些。

例子:

SELECT COUNT(*) FROM tablename where condition

SELECT SQL_CALC_FOUND_ROWS * FROM tablename
WHERE condition
LIMIT 5;

SELECT FOUND_ROWS();

第二个用于限制结果但仍返回找到的总行数。希望对您有所帮助。

关于MySql 触发器和性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24074423/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com