如何制作有效的搜索索引

时间:2017-07-14 01:22:47

标签: mysql sql database doctrine-orm

如何在Table上制作索引以加快搜索速度。

我有两张这样的表

(我从symfony2创建了带有doctorine的表,但是从python脚本中获取了使用普通的mysql。)

现在我想多次执行此sql(更改x值)

select recordDate,closePrice from PriceDay where company_price=x ORDER BY recordDate DESC

所以我想设置像indexes={@ORM\Index(name="code_index",columns={"company_price","recordDate"})})这样的索引,但我不确定它是否是最好的解决方案。成对的company_price和recordDate是唯一的。你能帮一些想法吗?

 * @ORM\Table(indexes={@ORM\Index(name="code_index",columns={"company_price","recordDate"})})

PriceDay表

class PriceDay
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @ORM\ManyToOne(targetEntity="Acme\UserBundle\Entity\Company")
     * @ORM\JoinColumn(name="company_price", referencedColumnName="id")
     */
    private $company;

    /**
     * @ORM\Column(type="float")
     */
    private $closePrice = 0;

     /**
     *
     * @ORM\Column(type="date")
     */

    private $recordDate;

公司表

class Company
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;


   /**
     * @ORM\Column(type="string",nullable=false)
     */
    private $name;
        /**
     * @var boolean
     * @ORM\Column(name="enabled",type="boolean")
     */
    private $enabled = true;

0 个答案:

没有答案