我已经以通过MySQL内存表处理会话表的方式实现了我的android应用。为每个活动用户创建一个会话表,以保持较高的速度。这导致了活动用户的大量会话表。那数百个会话表的存在是否会影响MySQL查询的性能?
最佳答案
如果删除了用于非活动会话的表,那么我看不到“数百”个表激增的特殊问题。数百张桌子应该没问题。成千上万成为另一个问题。
我确实质疑您是否有一个好的方法,以及每个会话的开销是否值得(这与您有关表数的问题稍有不同)。创建和删除表会产生开销-系统表需要维护,此类表上的锁会减慢速度。
通常,处理此类情况的方法是使用现有表中的行。在某些情况下这不合适。例如,如果会话表具有重要的用户定义内容,则结构会大不相同。如果结构相同,则几乎没有理由要有多个表,并且有很多理由将数据放入单个表中(如果要快速删除行,则可以按会话ID进行分区)。