Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.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 视图中的最大列数_Mysql - Fatal编程技术网

Mysql 视图中的最大列数

Mysql 视图中的最大列数,mysql,Mysql,在mySQL中,表中有(复杂的)最大列数 但是视图中的最大列数是多少呢 我的意思是,视图可能是许多表的连接。是否有最大列数 提前感谢。根据,每个表最多有4096列。我不确定这是否也是查询的情况,尽管我会这样假设,我也不认为实际上每个数据库表或搜索查询的数量都会超过这个数量 举例来说,问卷表可能如下所示: questionnaire_id, question_no, question 1 1 What is your name?

在mySQL中,表中有(复杂的)最大列数

但是视图中的最大列数是多少呢

我的意思是,视图可能是许多表的连接。是否有最大列数


提前感谢。

根据,每个表最多有4096列。我不确定这是否也是查询的情况,尽管我会这样假设,我也不认为实际上每个数据库表或搜索查询的数量都会超过这个数量

举例来说,问卷表可能如下所示:

questionnaire_id, question_no, question
               1            1  What is your name?
               1            2  Where do you live?
               1            3  What is your favourite colour?
               2            1  What is the capital of France?
               2            2  Who wrote Beethoven's Fifth?
               2            3  When was the Great Fire of London?
因此,我们有两份问卷(可能无限长),在一个表中正好占据了3列


任何剩余的“用户体验”问题都将在应用程序代码中正确处理。

实际情况是,表中的最大列数远小于4096。实际最大值取决于所涉及列的长度和数据类型。视图也是这样吗?或者?@HenrikJuul Nyholm我想你得到明确答案的唯一方法是你自己用一些测试表试试,看看会发生什么。在任何情况下,即使是具有这么多列的视图也很可能是糟糕的数据库设计的征兆。那我就试试看。我理解您关于“糟糕”数据库模型的观点:-),但我们有一些非常合理的理由来支持这种设计。无论如何,谢谢。这种问题(几乎)总是显示出设计和/或数据显示方法中的潜在缺陷。@草莓,我同意:“几乎总是”…:)然而,我们有一些非常有力的理由。我们有一些“疯狂”的长问卷。因此,设计中的缺陷不是数据模型,而是业务逻辑。这不关我的事,但我完全不相信。@草莓,欢迎你提出建议。我们有一些300-500个问题的调查问卷。这些问卷与其他问卷相结合(少于50个问题)。我们需要加载完整的记录。你打算如何设计这个?如果不进一步了解你的“非常有力的理由”,我真的不能说。谢谢你的建议,但是试着对这样的数据结构进行统计(制表):@HenrikJuul Nyholm我想那确实很容易。在进行统计时,制作一个扁平的结构将使制表变得复杂,而且速度非常慢。不知何故,您与关系数据库的逻辑进行了斗争。此外,行的数量将变得非常高,这会一直造成性能问题。我对这种方法非常熟悉,但这肯定不是一条可以走的路。你肯定错了。我反对关系数据库的逻辑?这是怎么回事!!?!RDBMS喜欢行,讨厌列。哦,为了澄清一个技术问题,你的设计是平面的,不是我的。恕我直言,但你应该试试看。我尝试过这种方法。如果你沿着这条路走下去,你将不得不让一个非常复杂的应用程序预处理数据,并为表格制作子表。您要做的是将一条记录制作成一个行集合,这使得(交叉)制表非常复杂,因为它基本上会将制表从数据库本身中取出并放入某种应用程序过程中,然后可能会将结果存储到一个子表中供用户选择。把一个小问题变成一个大问题:-)无论如何,再次感谢你的建议。