Я столкнулся с проблемой при чтении данных из базы данных (PostgreSQL версия = 11.6). До вчерашнего дня запросы на чтение работали нормально. Но теперь открытие определенной c таблицы занимает слишком много времени, все остальные таблицы работают нормально. Я использую TablePlus в качестве клиента для подключения к RDS. Выполнение простого запроса на выборку занимает много времени
SELECT * FROM "public"."scraped_accounts" ORDER BY "id" LIMIT ? OFFSET ?;
ГРАФИК ИСПОЛЬЗОВАНИЯ ЦП ДЛЯ ВЫШЕГО ЗАПРОСА
Технические характеристики таблицы
- В таблице всего 5737 записей.
- Он размещен на экземпляре db.m4.large на AWS.
- Нет конкретных c индексов, кроме индекса первичного ключа на идентификатор столбца и использует алгоритм BTREE
Структура таблицы приведена ниже
CREATE TABLE "public"."scraped_accounts" (
"id" int4 NOT NULL DEFAULT nextval('scraped_accounts_id_seq'::regclass),
"screen_name" text NOT NULL,
"name" text NOT NULL,
"url" text,
"description" text,
"location" text,
"score" numeric NOT NULL DEFAULT 0,
"created_at" timestamp NOT NULL,
"scraped_at" timestamp NOT NULL DEFAULT now(),
"updated_at" timestamp NOT NULL DEFAULT now(),
"img" text,
"cover_img" text,
"interested" _text NOT NULL DEFAULT '{}'::text[],
"checked" bool DEFAULT false,
"ignore" bool DEFAULT false,
"tag" text,
"sector" text,
"last" text,
"total" text,
"meta_title" text,
"meta_description" text,
"meta_keywords" text,
"name" text,
"url" text,
PRIMARY KEY ("id")
);
Я пробовал:
- Перезагрузка экземпляра База данных
- Экспорт этой конкретной c таблицы и импорт в другой экземпляр базы данных.
- Попытка поиска блокировок
Но проблема все равно сохраняется.
Подозреваемые проблемы могут быть связаны с:
- Emojis, которые присутствуют в данных. Могут возникнуть проблемы из-за их формата кодирования
- Мы запускаем несколько заданий cron на бэкэнде, которые одновременно выполняют запросы INSERT и UPDATE для этой таблицы.
Могут ли указанные выше причины вызвать это проблема?
ГРАФИКИ ОБЛАЧНЫХ ЧАСОВ ЗА ПОСЛЕДНЮЮ НЕДЕЛЮ
Любая помощь будет принята с благодарностью.