Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 什么更好?每1000行有100个表,还是每10000行有10个表?_Mysql_Database_Performance_Database Design - Fatal编程技术网

Mysql 什么更好?每1000行有100个表,还是每10000行有10个表?

Mysql 什么更好?每1000行有100个表,还是每10000行有10个表?,mysql,database,performance,database-design,Mysql,Database,Performance,Database Design,如果有10个表,我将没有连接。如果有100个表,那么每个查询将有一个联接。哪一个性能更好 我认为这在很大程度上取决于您的DB模式,但对于一个表来说,10k行并不多。如果可以在数据上建立索引,那么就这样做。我认为更少的表应该使您的应用程序更简单 另外,显而易见的是,联接比不联接更昂贵,因为要计算联接,需要取两个表的叉积或其任何名称,然后从中取行。但是,我也不知道您的数据是什么样子。我认为这在很大程度上取决于您的DB模式,但是对于一个表来说,10k行并不多。如果可以在数据上建立索引,那么就这样做。我

如果有10个表,我将没有连接。如果有100个表,那么每个查询将有一个联接。哪一个性能更好

我认为这在很大程度上取决于您的DB模式,但对于一个表来说,10k行并不多。如果可以在数据上建立索引,那么就这样做。我认为更少的表应该使您的应用程序更简单


另外,显而易见的是,联接比不联接更昂贵,因为要计算联接,需要取两个表的叉积或其任何名称,然后从中取行。但是,我也不知道您的数据是什么样子。

我认为这在很大程度上取决于您的DB模式,但是对于一个表来说,10k行并不多。如果可以在数据上建立索引,那么就这样做。我认为更少的表应该使您的应用程序更简单


另外,显而易见的是,联接比不联接更昂贵,因为要计算联接,需要取两个表的叉积或其任何名称,然后从中取行。但是,我也不知道您的数据是什么样子。

如果没有一些测量的性能数据,我不会以这种方式做出设计决策

建模问题的正确方法是创建标准化表,其中的索引忠实地建模问题域

一旦有了这些数据,就可以为需要运行的查询获取一些性能数据

如果您发现性能不可接受,请根据需要取消规范化


你的问题过于笼统和笼统,无法做出黑白决定。

如果没有一些衡量的性能数据,我不会以这种方式做出设计决定

建模问题的正确方法是创建标准化表,其中的索引忠实地建模问题域

一旦有了这些数据,就可以为需要运行的查询获取一些性能数据

如果您发现性能不可接受,请根据需要取消规范化


您的问题过于笼统和笼统,无法做出非黑即白的决定。

联接会影响性能。但是,拥有冗余数据也是一种糟糕的做法。在这种情况下,更新和插入数据会非常费力。

连接会影响性能。但是,拥有冗余数据也是一种糟糕的做法。在这种情况下,更新和插入数据将非常费力。

更少的连接意味着更快的选择查询。但是,如果您正在进行任何插入或更新,您很可能会通过数据异常或更昂贵的插入/更新来支付费用


如果您只是要查询静态数据,那么反规范化可能会有回报,但否则您可能会自食其果。

更少的连接意味着更快的选择查询。但是,如果您正在进行任何插入或更新,您很可能会通过数据异常或更昂贵的插入/更新来支付费用


如果您只是要查询静态数据,那么反规范化可能会有回报,但否则您可能会自食其果。

从正确的模式开始,一个包含100000行的表,如果您只有一个逻辑实体

否则,首先分析域并设计模式,以镜像它必须表示的逻辑域实体。然后,只进行非规范化,以解决负载测试中实际出现的性能问题,或者根据过去的经验,您知道会出现这些问题。这种方法从正确的规范化模式开始,将使调优过程本身更容易,它将有助于确保您最终得到的内容将包含规范化和优化的最佳组合,并将确保您了解为提高性能而对规范化做出的妥协。后一点是一件好事,因为它允许您更智能地添加那些必要的应用程序验证,以解决标准化受到破坏的情况,从而使您的数据库容易出现数据重复或不一致的情况


不过,如果您只关心读取性能,那么最好的选择还是一个包含100000行的表——顺便说一句,不用麻烦使用关系数据库,只需将数据存储在内存中就行了

从正确的模式开始,一个包含100000行的表,如果您只有一个逻辑实体

否则,首先分析域并设计模式,以镜像它必须表示的逻辑域实体。然后,只进行非规范化,以解决负载测试中实际出现的性能问题,或者根据过去的经验,您知道会出现这些问题。这种方法从正确的规范化模式开始,将使调优过程本身更容易,它将有助于保证您最终得到的内容将包含规范化和优化的最佳混合,并将确保您了解com 已承诺实现性能正常化。后一点是一件好事,因为它允许您更智能地添加那些必要的应用程序验证,以解决标准化受到破坏的情况,从而使您的数据库容易出现数据重复或不一致的情况


不过,如果您只关心读取性能,那么最好的选择还是一个包含100000行的表——顺便说一句,不用麻烦使用关系数据库,只需将数据存储在内存中就行了

这只是一个例子。下次我在它后面写k;这只是一个例子。下次我在它后面写k;为什么是-1?这是一个有效的问题为什么-1?这是一个合理的问题