我已多次阅读过,在查询MySQL(或任何数据库)时,我们必须避免读取太多字段...只需查询您需要的字段。
但是我有一个项目,其中一个表每个记录/行有100个字段。
问题在于,每次查询数据库时,我都需要在查询完成后进行进一步计算等所有字段。
我最终会有大约200个用户,它们将使用相同的查询/表。 目前我已经用3台PC进行了一些连续测试,不断查询数据库,根本没有性能问题,所有数据都在几分之一秒内被查询。 另请注意,查询的次数相同(所有用户都查询相同的内容),因此查询缓存会受到很大影响。
但我担心当链接和项目的所有用户(+200)投入生产时,我将开始遇到性能问题。
所以...问题,是100个字段太多而无法查询?
可以使用 SELECT * ... ,还是选择field1,field2,field3 ...... 等更快?
我不知道如何“模拟”同时查询的200个用户......有什么想法吗?
感谢
答案 0 :(得分:3)
可以找到一些想法here。
如果你有200个用户,你可能不会受到太大的影响,除非他们决定一致行动。但是,我可能会问我是否真的需要100个字段,或者数据库是否可以规范化。如果这就是你所需要的,那就是你所需要的。
答案 1 :(得分:0)
我谦虚地建议你需要研究数据库规范化。你可以把这个记录分开。
http://en.wikipedia.org/wiki/Database_normalization
http://databases.about.com/od/specificproducts/a/normalization.htm
MySQL专门。
http://dev.mysql.com/tech-resources/articles/intro-to-normalization.html
在生产代码中使用“select *”也被视为不良形式。就个人而言,如果我确实需要每个领域,我会使用它。 YMMV。
HTH
根据您的评论,您无法打破记录:学习SQL“加入”和“子查询”。你会爱他们的。 : - )