Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.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
Php 使用YAML的Symfony2条令索引_Php_Postgresql_Symfony_Doctrine Orm_Doctrine - Fatal编程技术网

Php 使用YAML的Symfony2条令索引

Php 使用YAML的Symfony2条令索引,php,postgresql,symfony,doctrine-orm,doctrine,Php,Postgresql,Symfony,Doctrine Orm,Doctrine,因为条令中关于YAML的文档并没有真正的信息,所以我试图从示例代码中为少数(已经存在的)表创建索引。我在我的*.orm.yml文件中添加了一些行,但是在调用了app/console原则:generate:entities和app/console原则:schema:update--force之后,我得到一条消息,我的数据库已经同步了。这有点问题——我根本不是Symfony或数据库管理方面的专家,但据我所知,当我经常使用查询时,索引表是非常关键的,主要是通过表的一列中的值进行搜索,不是吗?所以,请帮

因为条令中关于YAML的文档并没有真正的信息,所以我试图从示例代码中为少数(已经存在的)表创建索引。我在我的*.orm.yml文件中添加了一些行,但是在调用了
app/console原则:generate:entities
app/console原则:schema:update--force之后,我得到一条消息,我的数据库已经同步了。这有点问题——我根本不是Symfony或数据库管理方面的专家,但据我所知,当我经常使用查询时,索引表是非常关键的,主要是通过表的一列中的值进行搜索,不是吗?所以,请帮助我使用YAML通过Symfony/doctor创建索引,我不知道我还能做什么

这是我的一个.orm.yml文件:

Sc0\LoginBundle\Entity\LoginDictionary:
  type: entity
  table: login_dictionary
  indexes:
    login_dictionary_index:
      columns: [ name ]

  id:
    name:
      type: string
      length: 30

  fields:
    polish:
      type: string
      length: 150
      nullable: false

如果重要的话,我会使用PostgreSQL进行数据库管理。也许我应该使用普通postgres查询创建标准索引?Symfony会“看到”那些手动创建的索引吗?

因为
name
是主键,所以此列已经有了索引。您可以向PHPMyAdmin查询。这就是为什么会有这样一条消息:数据库已经同步了:索引已经存在。

所以为我添加“索引:”部分没有意义?默认情况下,索引是为主键创建的,所以如果我在这里的查询看起来总是
从login\u dictionary中选择polish,其中name=WHERE
就不可能提高速度,对吗?我只是想确定-什么时候真的需要索引?没有,已经有索引了,所以添加
索引:
将不会起任何作用,如您的问题所述(无需更新-您的数据库已经与当前实体元数据同步)。关于表演,我很抱歉,但我不知道。但我知道,如果要执行联接操作,应该使用整数作为主键,以便在其他表中使用它作为外键。作为索引,整数比字符串更有效。不需要连接,至少对于这个表,因为它只是一个字典。对于所有其他更重要的表,我有一个整数
id
字段。我只是希望我的表设计得很好,而且我多次听说索引表很重要,因为它可以提高查询执行的速度。谢谢你的帮助!