Итак, загрузка этого запроса заняла 40 секунд, есть ли способ ускорить его? фреймворк, который я использовал, - это Laravel, и мне нужно показать эти данные с помощью ajax, и этот запрос занял 40 секунд для загрузки, мне нужно его ускорить ...

0
Evan TM 10 Апр 2021 в 05:28

1 ответ

Лучший ответ

Если у вас нет индекса для вашей таблицы verifikasi_pelanggan, вам необходимо.

Чтобы добавить индекс, запустите что-то вроде:

ALTER TABLE `verifikasi_pelanggan` 
ADD INDEX `index4` (`kdPaketBerjalan` ASC, `kdVerifikasi` DESC)

Просто сделайте это один раз, и все должно ускориться.

РЕДАКТИРОВАТЬ: Ваш запрос без индекса будет сканировать весь verifikasi_pelanggan несколько раз для каждого результата. Поскольку в нем есть предложение ORDER BY, оно даже не ограничено 20, ему нужно будет сканировать каждый результат и ЗАТЕМ сортировать, а затем ограничить до 20 результатов.

ИНДЕКС по существу предварительно сортирует таблицу. Он может найти совпадения в индексированных столбцах почти мгновенно, вместо того, чтобы сканировать и читать каждую строку, чтобы убедиться, что это совпадение.

Простое индексирование по kdPaketBerjalan должно очень помочь, но, поскольку вы заказываете по kdVerifikasi, похоже, что у вас может быть несколько совпадений по kdPaketBerjalan, что потребует сортировки. Включив kdVerifikasi в индекс, вы сразу найдете его.

0
Garr Godfrey 10 Апр 2021 в 02:52