Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.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_Database_Database Design - Fatal编程技术网

Mysql 在多个表中拆分记录或使用单个表在单个表中存储多个记录的优缺点是什么

Mysql 在多个表中拆分记录或使用单个表在单个表中存储多个记录的优缺点是什么,mysql,database,database-design,Mysql,Database,Database Design,我需要知道: 在多个表中拆分记录或使用单个表在单个表中存储多个记录的优缺点是什么 哪种方法适合大型数据库站点 MySql查询的执行速度是多少 如何提高数据库中查询的性能 什么是数据解析?我听说这是一种仅针对Apache-MySql服务器的黑客攻击。如果是这样的话,我如何防止它发生(黑客编写脚本,所有数据都从服务器下载) 一, 如果您谈论的记录是同一类型(模式),那么它们通常存储在同一个表中,因为将它们拆分到不同的表中会使查询和决定将新记录放在何处变得复杂。为了加快查询速度,将索引分配给在WHER

我需要知道:

  • 在多个表中拆分记录或使用单个表在单个表中存储多个记录的优缺点是什么
  • 哪种方法适合大型数据库站点
  • MySql查询的执行速度是多少
  • 如何提高数据库中查询的性能
  • 什么是数据解析?我听说这是一种仅针对Apache-MySql服务器的黑客攻击。如果是这样的话,我如何防止它发生(黑客编写脚本,所有数据都从服务器下载)
  • 一,

  • 如果您谈论的记录是同一类型(模式),那么它们通常存储在同一个表中,因为将它们拆分到不同的表中会使查询和决定将新记录放在何处变得复杂。为了加快查询速度,将索引分配给在WHERE子句中查询的字段。此外,您可能需要花一些时间构建优化的查询
  • 一种方法是通用的:您以这样一种方式分解域,即每个实体都有自己的表,并且对于每个关联都有一个表
  • 要测量执行时间,可以使用。我认为phpmyadmin具有查询执行的度量
  • 请参阅索引、查询优化。我认为InnoDB有点慢,但已经好几年没有检查过了
  • 您可能正在考虑html剥离-通常javascript用于在页面加载期间注入一些html。也就是说,您只提供页面的一部分,其余部分由js完成。所以html解析器打破了这一点。您还可以使用函数来防止sql注入

  • 这篇文章只是我对这件事的看法。我可能在某些部分或更多部分出错。

    我会非常非常浅薄地了解一下我认为你在寻找的东西;标准化和非标准化数据:

    为什么要正常化:

    • 减少数据冗余(单个数据库中的多个数据副本难以维护)
    • 更方便的数据到模式映射可视化
    • 从面向对象编程的某个角度进行辅助
    为什么要去规范化:

    • 提高查询的性能
    • 当您有静态/持久数据时,为什么不呢
    <>如果你正准备建立你的数据库,立即考虑你的数据的目的。并非所有数据都需要规范化或非规范化;你可以有一辆混合动力车。同样,也就是说,在适用的情况下

    数据的用途与获取数据的方式同样重要,至少在建模时是如此。如果您使用的是一个高度事务性的数据库,但需要半小时(甚至更短的时间间隔)的报告,那么您还必须考虑数据源冗余(这一次,我的意思是为了数据安全而备份或复制数据库)——然后您将决定是否需要表的混合、规范化或非规范化模型。例如,如果您的客户要求将数据以结构化数据的形式发送给他们,而不是以报表的形式发送给他们,那么您将能够满足他们对规范化数据的需求,但这并不一定意味着您必须规范化您的数据——ETL可能会发挥作用,但这需要对转换或查询速度进行仔细的检查和测试。当您只需加载数据(比如从CMS服务器加载)并仅需要记录进行报告时,您可以对数据进行非规范化以便于访问。如果您决定在加载过程中聚合数据,那么对静态数据的查询速度也将是可见的。还有一个问题是,您是否正在处理缓慢变化的维度,其中您的数据结构受到“分组”需求的影响


    对不起,我可能已经漫无目的地离开了我还想再次强调,这篇文章是我的观点。我不会把这些作为纯粹的、不变的事实来陈述。。这些正好是我能学到的一些东西。许多人可能/将不同意我在这里所写的内容,但最终,在决定如何对数据建模时,我只是分享自己的经验

    你能再具体一点吗?您要存储什么数据?您对哪个“mySQL查询”感兴趣?您希望改进的查询是什么?另外,试着问一个问题——前两个问题似乎是相关的,我可以想象下两个问题是同一个问题的一部分(即性能是数据库设计的关键);5是你可能会去维基百科的东西。