0

这就是我想要做的。我将 ejabberd 与 mod_logdb 一起使用。所有对话都记录到数据库中带有日期标记的表中。

例如:logdb_messages_2010-7-17_server_node

我要做的是编写一个搜索,该搜索将查看所有这些表,而不会过多地访问数据库。我想创建一个视图来获取表中的所有数据,这样我就可以点击它。

问题是可能有几天没有日志,当然还有我们开始记录的前几天。

有没有办法我可以以某种方式使用通配符从 MySQL 中获取这些?我的另一个人是编写一个每日 cron 作业来重新创建我需要的视图。

4

2 回答 2

2

哇,这是一个高级反模式。

您应该查询信息架构,除非您可以控制架构并首先避免错误。

如果不能,则必须动态生成准备好的语句。

这是一个例子:

http://jayant7k.blogspot.com/2008/02/mysql-stored-procedures-dynamic-tables.html

于 2010-07-19T12:27:59.557 回答
0

您可以使用合并引擎来简化从多个表中选择数据的过程。
视图不会提高性能。您必须优化查询并添加必要的索引以提高性能。有时,重新设计架构也是一种解决方案。

于 2010-07-19T12:31:43.057 回答