最近我被要求开发一个应用程序,它基本上将使用整个数据库中的一个主要单表进行操作。
它必须有大约20个不同类型的列- decimals,int,varchar,date,float。在某些情况下,该表将有数千行(3-5k)。
这个应用程序必须有能力通过组合每个列的标准来选择记录-例如,在日期之间,大于某物,小于某物,等于某物等。基本上结合了许多where子句以查看所需的结果。
所以我的问题是,既然我知道如何组合wheres和制作应用程序,那么最好的方法是什么?我的意思是,当我有3k条记录并使用15个WHERE子句进行SELECT查询时,MySQL是否足够好而不会减慢速度?我从来没有处理过超过1k条记录的数据库,所以我不确定是否应该使用MySQL。另外,我将使用PHP作为服务器语言,如果这很重要的话。
发布于 2012-07-04 20:34:53
您正在讨论一个where子句中的条件。
对于关系数据库来说,3000行是非常小的。这些数据通常要大得多(比如3 million+甚至更多)
我担心一个表中有20列。这听起来像是一个规范化问题。
发布于 2012-07-04 20:34:33
有了定义良好的数据库结构,包括适当的索引,即使有15个条件,3k记录也不算什么。即使没有索引,在记录如此之少的情况下,您是否会看到任何性能影响也是值得怀疑的。
然而,我会为未来做计划,也许会看看你的查询,看看在这个阶段你是否可以做一些表优化,以避免将来的痛苦。谁知道呢,今天有3000张唱片,明年有3000万张。
发布于 2012-07-04 20:36:24
数据库中有3000条记录不算什么。即使你有15个WHERE,你也不会有任何性能问题。MySQL和PHP将很好地完成这项工作。
我更关心的是你的大量专栏。也许您应该看看this article,以确保您尊重数据库normal forms,
祝你的项目好运。
https://stackoverflow.com/questions/11329149
复制相似问题