@ORM\Table(indexes={
* @ORM\Index(name="date_idx", columns={"date_mod"})})
CREATE INDEX date_idx ON mod (date_mod DESC)
очень нужно создать индекс по дате desc (мне нужно рассчитывать на 90 дней вперед , каждый день по предыдущей дате), поэтому решение этой задачи очень важно, замедленность идет с ужасающей прогрессией с каждым днем:
у меня вообще складывается такое ощущение, что в БД пишутся именно такие циферки - 08.02, 07.02, в поле varchar
SELECT * from mod where date_mod="предыдущая дата"
с джойнами из других таблиц, отсортированных по трем полям. У поля 'date_mod' тип datetime. 2) После того - ещё не значит вследствие того. То, что скорость поиска уменьшается с ростом количества записей, вряд ли связано с "не тем" направлением сортировки в индексе. Скорее всего основная проблема в снижении селективности.
3) Задавать вопрос о производительности запроса, но при этом не показать ни структур таблиц, ни текста запроса, ни плана его исполнения? Из откуда мы должны выдумать свои советы - на потолке подсмотреть? из пальца высосать? дурь какая-то...
в снижении селективности, эту фразу не очень поняла.
A key_part specification can end with ASC or DESC to specify whether index values are stored in ascending or descending order. The default is ascending if no order specifier is given. ASC and DESC are not permitted for HASH indexes. ASC and DESC are also not supported for multi-valued indexes. As of MySQL 8.0.12, ASC and DESC are not permitted for SPATIAL indexes.
<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20220207185432 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}
public function up(Schema $schema): void
{
$this->addSql('DROP INDEX date_idx ON mod');
$this->addSql('CREATE INDEX date_idx ON mod (date_mod DESC) ');
}
public function down(Schema $schema): void
{
$this->addSql('DROP INDEX date_idx ON mod');
}
}
php bin/console doctrine:migrations:migrate
SHOW INDEXES from mod