我需要让我的应用程序存档数据,以便用户可以选择查看前几个月的数据。
我想做的方式是为每个表创建一个存档表,即。table_archive
,并使用 INSERT SELECT 查询将数据插入存档表。我担心数据库有超过 300 个表,多创建 300 个表会影响我的应用程序的速度吗?
另一个要求是用户不能更改归档信息,如何锁定表以禁止用户进行 INSERT、UPDATE、DELETE?
有没有其他更快更简单的方法来做到这一点。
架构中的 600 个表不应造成性能问题。更大的问题是您将多少数据打包到这些表中,以及您如何形成连接和索引。避免写入很容易。只需撤销新表中的权限即可。
https://dev.mysql.com/doc/refman/5.5/en/privileges-provided.html
对于正在访问这些的用户,您将只想要grant select
其他东西。