我已经看到一些论坛有这个问题,但他们没有回答我想知道的一件事。我先解释一下我的主题:
我有一个系统,其中多个用户的每个日志都输入到数据库中(例如,用户1登录,用户2登录,用户1进入用户管理,用户2更改密码等)。因此,我预计每个用户每天有 100 到 200 个条目。现在,我在一个表中执行此操作并查看它,我只需使用 UserID 进行过滤即可。
我的问题是,哪个更有效率?我应该使用一个表还是为每个用户创建一个表?
我担心如果我使用单个表,系统可能会难以过滤数千个条目。我已经阅读了使用多个表和单个表的一些优点和缺点,特别是关于更新表的优点和缺点。
我也想知道哪一个更节省空间?多表还是单表?
只要您在要选择的字段上使用索引,就不应该有任何速度问题(尽管索引写入速度很慢,所以太多是一件坏事)。具有几千个条目的表对于 mySQL(或任何其他数据库引擎)来说毫无意义。
创建数千个表的开销要严重得多 - 假设您想要更改用户表中的字段 - 现在您必须更改数千个表。
我们定期搜索@work 的单个记录的表大约有 150,000 行,并且由于我们搜索的字段已建立索引,因此搜索时间非常短。
如果您在不使用主键的情况下选择这些记录,请在用于选择的字段上创建索引,如下所示:
CREATE INDEX my_column_name ON my_table(my_column_name);
这是最基本的形式。要了解更多信息,请检查here http://dev.mysql.com/doc/refman/5.0/en/create-index.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)