Mysql phpMyAdmin几个问题:

Mysql phpMyAdmin几个问题:,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,我对mysql phpMyadmin环境非常陌生,我想了解一些相关的知识 1.我需要一个文本字段,应该是大约500个字符。 这必须是“文本”字段吗?是否需要应用程序来负责长度 索引。我理解,当我将一个字段表示为“索引”时,这意味着该字段将有一个指针表,并且在每个WHERE inclusive命令上,搜索将由该字段优化(logn复杂性)。但是如果我在事实之后将一个字段表示为索引,会发生什么呢?在它有几行之后呢?我可以发出像“遍历所有表并索引该字段”这样的命令吗 当我将字段标记为索引字段时,有时会在

我对mysql phpMyadmin环境非常陌生,我想了解一些相关的知识 1.我需要一个文本字段,应该是大约500个字符。 这必须是“文本”字段吗?是否需要应用程序来负责长度

  • 索引。我理解,当我将一个字段表示为“索引”时,这意味着该字段将有一个指针表,并且在每个WHERE inclusive命令上,搜索将由该字段优化(logn复杂性)。但是如果我在事实之后将一个字段表示为索引,会发生什么呢?在它有几行之后呢?我可以发出像“遍历所有表并索引该字段”这样的命令吗

  • 当我将字段标记为索引字段时,有时会在phpMyAdmin中将它们标记为具有键名

  • 当我编写php时,为了通过索引字段访问表,我是否需要额外的努力来使用在“结构”视图中写入的键名来使用表作为索引,或者该键名是在幕后使用的,我不应该关心它

  • 我有时会得到引用两个或多个字段的键名。这些字段一个接一个地显示。我不知道这是怎么发生的,但我需要他们只索引一个字段。发生了什么事

  • 我在数据库中使用UTF-8值。当我创建它时,我想我把它标记为utf8\uUnicode\uCI,一些字段标记为utf8\uGeneral\uCI,这有关系吗?我可以返回并将整个DB定义更改为utf8\u general\u ci吗

  • 我觉得那是相当多的一点,, 我先谢谢你!
    Ted

    首先,请注意这本身并不是关于phpmyadmin的,而是关于mysql/数据库的

    (一)

    索引意味着您可以列出(大多数情况下是树)存在的值。通过这种方式,您可以轻松找到具有该/这些值的行。在插入值之后和之前一样,可以轻松创建此树。请注意,这意味着所有“添加到索引”命令都放在一起,因此您不希望在包含大量条目的“活动”表上执行这些操作。但您可以随时添加索引。只需添加索引,就可以为空表或“已使用”表创建索引

    (二)

    我不知道你这是什么意思。索引有一个名称,它是什么并不重要。(主键)是索引,但并非所有索引都是键

    (三)

    您不需要“强制”mysql使用密钥,优化器最清楚如何以及何时使用密钥。如果你的钥匙是正确的,它们就被使用,如果它们不正确,它们就不能被使用,所以你不能强制使用:换句话说:不要想它:)

    (四)

    如果同时将两个字段标记为键,PHPMYADMIN将生成复合键。这很烦人,可能是错误的。如果一次搜索两个对象,可以使用复合键,但如果搜索一个对象,则不能。只需一次将它们标记为键,或者手动使用正确的SQL命令

    (五)


    你可以随心所欲地改变,但我不知道你的价值观会发生什么。最好手动检查:)

    如果需要一个包含500个字符的字段,可以使用VARCHAR进行检查。只需将其长度设置为500

  • 你不是一个字段一个字段地索引,而是索引整个列。因此,表中是否包含数据并不重要。所有行都将被索引

  • 没问题

  • 只要有可能,就会使用索引。您只需要担心使用与查询的WHERE部分中索引的列相同的列

  • 您可以在索引中添加任意数量的列。例如,如果将列“foo”、“bar”和“ming”添加到索引中,则数据库将按照WHERE子句中这些列的顺序进行速度优化,以进行搜索。上面的链接再次解释了这一切

  • 我不知道。我100%确信,如果在数据库中只使用UTF-8值,那就没关系了。不过,您可以稍后更改此选项,如本问题中所述:

  • 不过我建议你放弃PHPMyAdmin。是一个管理所有MySQL服务器的windows客户端。它有很多很酷的功能,比如将表或数据库直接从一个MySQL服务器复制到另一个MySQL服务器。试试看(免费)