1
0
Fork 0
mirror of https://github.com/wallabag/wallabag.git synced 2025-08-31 18:31:02 +00:00

Use two indexes instead of one for hashed urls

When using `OR` in a where clause, a composite index can't be used. We should use a `UNION` to take advantages of it.
Instead, create 2 indexes on each hashed urls and make 2 queries to find an url. It'll be faster than the previous solution.
This commit is contained in:
Jeremy Benoist 2019-06-05 10:51:06 +02:00
parent f3bfb875e9
commit 70df4c3359
No known key found for this signature in database
GPG key ID: BCA73962457ACC3C
4 changed files with 20 additions and 25 deletions

View file

@ -27,7 +27,8 @@ use Wallabag\UserBundle\Entity\User;
* indexes={
* @ORM\Index(name="created_at", columns={"created_at"}),
* @ORM\Index(name="uid", columns={"uid"}),
* @ORM\Index(name="hashed_urls_user_id", columns={"user_id", "hashed_url", "hashed_given_url"}, options={"lengths"={null, 40, 40}})
* @ORM\Index(name="hashed_url_user_id", columns={"user_id", "hashed_url"}, options={"lengths"={null, 40}}),
* @ORM\Index(name="hashed_given_url_user_id", columns={"user_id", "hashed_given_url"}, options={"lengths"={null, 40}})
* }
* )
* @ORM\HasLifecycleCallbacks()