Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.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 'desc<;表>;`命令在innodb内部工作?_Mysql_Mariadb - Fatal编程技术网

Mysql 'desc<;表>;`命令在innodb内部工作?

Mysql 'desc<;表>;`命令在innodb内部工作?,mysql,mariadb,Mysql,Mariadb,它会扫描整个信息模式吗?或者它只是显示表文件中某个头的数据 mysql()和mariadb()上的文档提供了有关输出的信息,但没有揭示数据是如何在内部获取的 这个答案的要求是好奇地理解以下内容 由于对信息模式的影响,表数量的增加对数据库性能的影响 是否使用表元数据代替描述的信息模式 信息模式存储在不同的表空间中,还是通过表元数据呈现 descriple不会导致查询信息\u架构的性能成本 几年前,我在Zend Framework 1.0中实现了代码来发现表的列。Beta版的第一个实现是使用INFO

它会扫描整个信息模式吗?或者它只是显示表文件中某个头的数据

mysql()和mariadb()上的文档提供了有关输出的信息,但没有揭示数据是如何在内部获取的

这个答案的要求是好奇地理解以下内容

  • 由于对信息模式的影响,表数量的增加对数据库性能的影响
  • 是否使用表元数据代替描述的信息模式
  • 信息模式存储在不同的表空间中,还是通过表元数据呈现
    descriple不会导致查询信息\u架构的性能成本

    几年前,我在Zend Framework 1.0中实现了代码来发现表的列。Beta版的第一个实现是使用INFORMATION\u模式。但用户抱怨这破坏了他们的性能


    所以我把它改为query description,它的信息不太详细,但它已经足够满足我的目的了。这对性能来说要好得多。

    我认为MySQL 8.0在“数据字典”中包含了所有这些信息,这是8.0的一大变化。它在InnoDB表中,所以应该很快

    在8.0之前,
    .frm
    是信息的主要来源,但我认为RAM和/或IBMata1中未索引的伪表中还隐藏着其他信息。你的桌子越多,事情就越慢

    如果您的系统中超过1K个表,那么您的模式设计可能很差

    在对许多服务器的调查中,在大多数机器上运行
    descripe
    SHOW CREATE TABLE
    的时间少于一小时。如果您每秒不止一次地执行这样的查询,我会再次质疑架构


    注意:MariaDB没有实施数据字典。

    Himanshu Mishra,我同意,但是,您检查过文档了吗?另外,你能重新阅读你的问题并加以改进吗?也许如果你加上你的问题,加上你读过的关于这个主题的内容,这会有所帮助。祝你好运。你为什么觉得你需要知道?我已经编辑了这个问题。看看这是否足够。看看这个问题:。这就是让我思考DESC命令到底是如何工作的原因。它可能正在打开
    .FRM
    文件,这些文件保存着关于表的元数据。