我需要使我的应用程序归档数据,以便用户可以选择查看前几个月的数据。
我想要的方法是为每个表创建一个归档表,即。 table_archive
,并使用INSERT SELECT查询将数据插入到归档表中。
我担心的是,数据库有300多个表,会不会创建300多个表影响我的应用程序的速度?
另一个要求是用户不应该能够更改存档信息,如何锁定表以禁止用户进行INSERT,UPDATE,DELETE?
还有其他更快捷,更简单的方法。
答案 0 :(得分:0)
模式中的600个表不应该产生性能问题。更大的问题是您在这些表中打包了多少数据,以及如何形成连接和索引。避免写入很容易。只需撤销新表中的权限即可。
https://dev.mysql.com/doc/refman/5.5/en/privileges-provided.html
您需要grant select
,而不是访问这些内容的用户。