记录系统数据库结构:如何获得最佳的优化和规范化?

时间:2018-10-14 14:28:48

标签: mysql sqlite database-normalization database-optimization

我正在使用MySQL和SQLite创建日志记录系统,以实现最大程度的优化。这导致了表结构的怪异,该表结构由于其重复组而破坏了第一个范式。这是我的意思:

此系统中日志的格式类似于以下内容:

{1} used tool {2} on a {3} created by {4}

将每个{X}替换为相关信息,以在客户端上创建信息丰富的日志。 这允许将日志翻译成不同的语言。我的最初想法是打破第一个标准格式并使用重复组来存储这些替换项。

以下是已处理并替换后的日志的示例,它将显示给客户端:

Jeff used tool remover on an entity created by Steven

替换占位符的信息存储在上面的屏幕快照中显示的replacement_X_...列中。


优点:据我所知,这应该比使用单独的表存储需要连接甚至多个SELECT的替换项更快。

优势:该结构易于使用搜索功能

优势::这种结构允许快速插入,很多!

缺点:在上述情况下,最多可以进行六次替换,而不是可变数量

缺点:破坏了第一个标准格式,使用了重复的组,并且通常非常丑陋,很难对它进行查询和处理


在这种情况下,打破第一个范式是合理的吗?还是有更好的方法来解决这一问题,既不会影响性能,又适合MySQL和SQLite?

0 个答案:

没有答案
相关问题